From 550cf32fd4020df728d941558394ac059cb4147c Mon Sep 17 00:00:00 2001 From: Khang Date: Thu, 3 Oct 2024 04:07:34 +0000 Subject: [PATCH] Updates --- 404.html | 6 +- about.html | 6 +- assets/covers/win7-simu-custom-cursors.jpg | Bin 0 -> 107696 bytes ...les.ba6f7268.css => 0.styles.98d491ec.css} | 2 +- .../js/{104.d8adaefe.js => 100.d9593040.js} | 2 +- .../js/{100.e32dcd2e.js => 101.57548a07.js} | 2 +- .../js/{102.ae356ac7.js => 102.ad379717.js} | 0 .../js/{101.4f938d8c.js => 103.59629d53.js} | 2 +- .../js/{103.8c9b29d3.js => 104.636fb678.js} | 2 +- .../js/{105.ee50a038.js => 105.8f8a0ef6.js} | 0 .../js/{106.8e403aa6.js => 106.4e6a2259.js} | 0 assets/js/107.5ca1e014.js | 1 + assets/js/107.abd398a4.js | 1 - assets/js/108.5a54ae85.js | 1 + assets/js/108.ffdbf6c0.js | 1 - .../js/{109.da478c56.js => 109.8ce40a8c.js} | 0 assets/js/{11.48aaf70e.js => 11.fb8a7bb4.js} | 2 +- .../js/{110.7a5df71c.js => 110.4306d37e.js} | 0 assets/js/111.7fb481f6.js | 1 + assets/js/111.d397f034.js | 1 - assets/js/112.8b008ca4.js | 1 + .../js/{112.586459ae.js => 113.11226fbb.js} | 2 +- assets/js/{12.711e4203.js => 12.3fba3b11.js} | 2 +- assets/js/{13.3e32bcc9.js => 13.00863af4.js} | 2 +- assets/js/{20.ff912ff7.js => 20.8b84e27c.js} | 2 +- assets/js/{21.91fb08b0.js => 21.be143f80.js} | 2 +- assets/js/{22.b024a266.js => 22.5dc075a2.js} | 2 +- assets/js/{23.ce3dc7ab.js => 23.9cc9a595.js} | 2 +- assets/js/{24.b6be473a.js => 24.9e2092be.js} | 2 +- assets/js/{25.1515336d.js => 25.a6b4cc63.js} | 2 +- assets/js/{26.53873235.js => 26.f1cc3eaa.js} | 2 +- assets/js/{27.98351279.js => 27.727ad85a.js} | 2 +- assets/js/{4.fa4709e0.js => 4.f39221b3.js} | 2 +- assets/js/{40.ab0b733f.js => 40.552ce034.js} | 2 +- assets/js/41.07f7f8e0.js | 1 - assets/js/41.9d54aced.js | 1 + assets/js/{48.ff95ac4a.js => 48.bf1e8025.js} | 2 +- assets/js/{49.cab4177b.js => 49.fa10c801.js} | 2 +- assets/js/{5.58477e17.js => 5.7f3321e7.js} | 2 +- assets/js/{50.08403796.js => 50.f1cc2e0f.js} | 2 +- assets/js/{51.087b16ae.js => 51.f779f1b8.js} | 2 +- assets/js/{52.ee5c8072.js => 52.0a9465b5.js} | 2 +- assets/js/{53.4becf30d.js => 53.55f1a718.js} | 2 +- assets/js/{57.465e04d3.js => 57.9a90ee2f.js} | 2 +- assets/js/{58.2cd4fc07.js => 58.435fdc61.js} | 2 +- assets/js/{60.dc42bfd2.js => 60.fc797b81.js} | 2 +- assets/js/{67.227eb606.js => 67.8ebd37d5.js} | 2 +- assets/js/{69.7a7662fa.js => 69.abd08dd0.js} | 2 +- assets/js/73.e93e4d12.js | 1 + assets/js/{73.67b7a59e.js => 74.16003ed3.js} | 2 +- assets/js/{74.513f3cba.js => 75.7c54ac10.js} | 2 +- assets/js/{75.591559e6.js => 76.a011a212.js} | 2 +- assets/js/{76.9958172d.js => 77.65efdfca.js} | 2 +- assets/js/{77.f9fbde39.js => 78.e0e14167.js} | 2 +- assets/js/{78.aa02d2b1.js => 79.a55b4597.js} | 2 +- assets/js/{79.3415bb18.js => 80.eee7a31e.js} | 2 +- assets/js/{80.1838f597.js => 81.b2bca868.js} | 2 +- assets/js/{81.a0589d82.js => 82.020912ce.js} | 2 +- assets/js/{82.f5e32e95.js => 83.c60c7790.js} | 2 +- assets/js/{83.b7cafe6a.js => 84.5ef82fd1.js} | 2 +- assets/js/{84.4d221d40.js => 85.7070c1cc.js} | 2 +- assets/js/{85.a86d55fa.js => 86.3bb526e5.js} | 2 +- assets/js/{86.3f84d782.js => 87.6046867f.js} | 2 +- assets/js/{87.695bbb40.js => 88.99719ffd.js} | 2 +- assets/js/{91.c69fd51d.js => 89.c7148a6d.js} | 2 +- assets/js/{90.45d5daf9.js => 90.e784812b.js} | 0 assets/js/{89.b094b9fc.js => 91.e2df42d3.js} | 2 +- assets/js/{88.b27ed907.js => 92.35ec0982.js} | 2 +- assets/js/92.8152aab2.js | 1 - assets/js/93.a56ffc75.js | 1 - assets/js/93.c1495290.js | 1 + assets/js/94.326a9139.js | 1 + assets/js/94.eb26b624.js | 1 - assets/js/95.f52c6c5d.js | 1 + assets/js/95.fa7e5a43.js | 1 - assets/js/96.4419e63c.js | 1 - assets/js/96.8723c435.js | 1 + assets/js/97.f117a205.js | 1 - assets/js/97.f1a47176.js | 1 + assets/js/98.20392e0a.js | 1 + assets/js/98.bb351ba5.js | 1 - assets/js/99.1714f3e0.js | 1 - assets/js/99.c09bf9ba.js | 1 + assets/js/app.9e675b02.js | 21 +++ assets/js/app.ab71e1c2.js | 21 --- blog/about-the-ads.html | 6 +- blog/building-visnalize-com.html | 6 +- blog/building-win7-simu.html | 6 +- blog/concealing-online-identity.html | 6 +- blog/from-codepen-to-app.html | 6 +- blog/from-side-project-to-side-hustle.html | 6 +- blog/game-stick-lite-4k-adding-games.html | 6 +- blog/index.html | 26 ++- blog/load-any-websites-in-iframes.html | 6 +- blog/simulator-vs-emulator.html | 6 +- blog/tag/brick-1100/index.html | 18 ++- blog/tag/guest-post/index.html | 151 ++++++++++++++++++ blog/tag/index.html | 28 ++-- blog/tag/random/index.html | 18 ++- blog/tag/review/index.html | 18 ++- blog/tag/sharing/index.html | 28 ++-- blog/tag/technical/index.html | 28 ++-- blog/tag/tips/index.html | 18 ++- blog/tag/tools/index.html | 18 ++- blog/tag/win7-simu/index.html | 28 ++-- blog/tag/win7-simu/page/2/index.html | 123 ++++++++++++++ blog/visnalize-year-in-review-2023.html | 6 +- blog/why-side-hustle.html | 6 +- blog/win7-icons-viewer-downloader.html | 6 +- blog/win7-simu-custom-cursors.html | 133 +++++++++++++++ blog/win7-simu-file-explorer.html | 6 +- blog/win7-simu-mobile-devices.html | 6 +- blog/win7-simu-windows-media-center.html | 10 +- blog/win7-simu-year-in-review-2022.html | 6 +- blog/win7-ui-introduction.html | 6 +- blog/windows-resources.html | 6 +- brick1100/about.html | 6 +- brick1100/builders.html | 6 +- brick1100/changelog.html | 6 +- brick1100/deep-links.html | 6 +- brick1100/games.html | 6 +- brick1100/index.html | 6 +- brick1100/privacy.html | 6 +- contact.html | 6 +- feed.atom | 92 ++++++----- feed.json | 94 ++++++----- index.html | 6 +- rss.xml | 101 ++++++------ sitemap.xml | 2 +- win7simu/about.html | 6 +- win7simu/changelog.html | 6 +- win7simu/faq.html | 6 +- win7simu/index.html | 6 +- win7simu/privacy.html | 6 +- win7simu/simulated/bios.html | 6 +- win7simu/simulated/calculator.html | 6 +- win7simu/simulated/chrome.html | 6 +- win7simu/simulated/cmd.html | 6 +- win7simu/simulated/cpanel.html | 6 +- win7simu/simulated/fileexplorer.html | 6 +- win7simu/simulated/gadgets.html | 6 +- win7simu/simulated/ie.html | 6 +- win7simu/simulated/index.html | 8 +- win7simu/simulated/magnifier.html | 6 +- win7simu/simulated/media-player.html | 8 +- win7simu/simulated/minesweeper.html | 8 +- win7simu/simulated/notepad.html | 8 +- win7simu/simulated/paint.html | 8 +- win7simu/simulated/personalize.html | 8 +- win7simu/simulated/programs.html | 8 +- win7simu/simulated/purbleplace.html | 8 +- win7simu/simulated/recorder.html | 8 +- win7simu/simulated/snipping.html | 8 +- win7simu/simulated/solitaire.html | 8 +- win7simu/simulated/sticky.html | 8 +- win7simu/simulated/taskmgr.html | 8 +- win7simu/simulated/wmc.html | 8 +- win7simu/simulated/wordpad.html | 8 +- win7simu/themestudio/changelog.html | 6 +- win7simu/themestudio/in-depth-guide.html | 6 +- win7simu/themestudio/index.html | 8 +- win7simu/themestudio/quick-guide.html | 8 +- 162 files changed, 997 insertions(+), 502 deletions(-) create mode 100644 assets/covers/win7-simu-custom-cursors.jpg rename assets/css/{0.styles.ba6f7268.css => 0.styles.98d491ec.css} (95%) rename assets/js/{104.d8adaefe.js => 100.d9593040.js} (77%) rename assets/js/{100.e32dcd2e.js => 101.57548a07.js} (77%) rename assets/js/{102.ae356ac7.js => 102.ad379717.js} (100%) rename assets/js/{101.4f938d8c.js => 103.59629d53.js} (77%) rename assets/js/{103.8c9b29d3.js => 104.636fb678.js} (77%) rename assets/js/{105.ee50a038.js => 105.8f8a0ef6.js} (100%) rename assets/js/{106.8e403aa6.js => 106.4e6a2259.js} (100%) create mode 100644 assets/js/107.5ca1e014.js delete mode 100644 assets/js/107.abd398a4.js create mode 100644 assets/js/108.5a54ae85.js delete mode 100644 assets/js/108.ffdbf6c0.js rename assets/js/{109.da478c56.js => 109.8ce40a8c.js} (100%) rename assets/js/{11.48aaf70e.js => 11.fb8a7bb4.js} (94%) rename assets/js/{110.7a5df71c.js => 110.4306d37e.js} (100%) create mode 100644 assets/js/111.7fb481f6.js delete mode 100644 assets/js/111.d397f034.js create mode 100644 assets/js/112.8b008ca4.js rename assets/js/{112.586459ae.js => 113.11226fbb.js} (96%) rename assets/js/{12.711e4203.js => 12.3fba3b11.js} (90%) rename assets/js/{13.3e32bcc9.js => 13.00863af4.js} (99%) rename assets/js/{20.ff912ff7.js => 20.8b84e27c.js} (98%) rename assets/js/{21.91fb08b0.js => 21.be143f80.js} (86%) rename assets/js/{22.b024a266.js => 22.5dc075a2.js} (65%) rename assets/js/{23.ce3dc7ab.js => 23.9cc9a595.js} (88%) rename assets/js/{24.b6be473a.js => 24.9e2092be.js} (90%) rename assets/js/{25.1515336d.js => 25.a6b4cc63.js} (75%) rename assets/js/{26.53873235.js => 26.f1cc3eaa.js} (71%) rename assets/js/{27.98351279.js => 27.727ad85a.js} (89%) rename assets/js/{4.fa4709e0.js => 4.f39221b3.js} (99%) rename assets/js/{40.ab0b733f.js => 40.552ce034.js} (78%) delete mode 100644 assets/js/41.07f7f8e0.js create mode 100644 assets/js/41.9d54aced.js rename assets/js/{48.ff95ac4a.js => 48.bf1e8025.js} (97%) rename assets/js/{49.cab4177b.js => 49.fa10c801.js} (96%) rename assets/js/{5.58477e17.js => 5.7f3321e7.js} (98%) rename assets/js/{50.08403796.js => 50.f1cc2e0f.js} (94%) rename assets/js/{51.087b16ae.js => 51.f779f1b8.js} (99%) rename assets/js/{52.ee5c8072.js => 52.0a9465b5.js} (98%) rename assets/js/{53.4becf30d.js => 53.55f1a718.js} (97%) rename assets/js/{57.465e04d3.js => 57.9a90ee2f.js} (95%) rename assets/js/{58.2cd4fc07.js => 58.435fdc61.js} (89%) rename assets/js/{60.dc42bfd2.js => 60.fc797b81.js} (83%) rename assets/js/{67.227eb606.js => 67.8ebd37d5.js} (98%) rename assets/js/{69.7a7662fa.js => 69.abd08dd0.js} (77%) create mode 100644 assets/js/73.e93e4d12.js rename assets/js/{73.67b7a59e.js => 74.16003ed3.js} (99%) rename assets/js/{74.513f3cba.js => 75.7c54ac10.js} (99%) rename assets/js/{75.591559e6.js => 76.a011a212.js} (98%) rename assets/js/{76.9958172d.js => 77.65efdfca.js} (98%) rename assets/js/{77.f9fbde39.js => 78.e0e14167.js} (99%) rename assets/js/{78.aa02d2b1.js => 79.a55b4597.js} (98%) rename assets/js/{79.3415bb18.js => 80.eee7a31e.js} (81%) rename assets/js/{80.1838f597.js => 81.b2bca868.js} (99%) rename assets/js/{81.a0589d82.js => 82.020912ce.js} (80%) rename assets/js/{82.f5e32e95.js => 83.c60c7790.js} (96%) rename assets/js/{83.b7cafe6a.js => 84.5ef82fd1.js} (99%) rename assets/js/{84.4d221d40.js => 85.7070c1cc.js} (99%) rename assets/js/{85.a86d55fa.js => 86.3bb526e5.js} (99%) rename assets/js/{86.3f84d782.js => 87.6046867f.js} (80%) rename assets/js/{87.695bbb40.js => 88.99719ffd.js} (99%) rename assets/js/{91.c69fd51d.js => 89.c7148a6d.js} (77%) rename assets/js/{90.45d5daf9.js => 90.e784812b.js} (100%) rename assets/js/{89.b094b9fc.js => 91.e2df42d3.js} (77%) rename assets/js/{88.b27ed907.js => 92.35ec0982.js} (77%) delete mode 100644 assets/js/92.8152aab2.js delete mode 100644 assets/js/93.a56ffc75.js create mode 100644 assets/js/93.c1495290.js create mode 100644 assets/js/94.326a9139.js delete mode 100644 assets/js/94.eb26b624.js create mode 100644 assets/js/95.f52c6c5d.js delete mode 100644 assets/js/95.fa7e5a43.js delete mode 100644 assets/js/96.4419e63c.js create mode 100644 assets/js/96.8723c435.js delete mode 100644 assets/js/97.f117a205.js create mode 100644 assets/js/97.f1a47176.js create mode 100644 assets/js/98.20392e0a.js delete mode 100644 assets/js/98.bb351ba5.js delete mode 100644 assets/js/99.1714f3e0.js create mode 100644 assets/js/99.c09bf9ba.js create mode 100644 assets/js/app.9e675b02.js delete mode 100644 assets/js/app.ab71e1c2.js create mode 100644 blog/tag/guest-post/index.html create mode 100644 blog/tag/win7-simu/page/2/index.html create mode 100644 blog/win7-simu-custom-cursors.html diff --git a/404.html b/404.html index ba98271d..767e3f82 100644 --- a/404.html +++ b/404.html @@ -22,13 +22,13 @@ - - + +

404

There's nothing here.
Take me home.
- + diff --git a/about.html b/about.html index 4d896e63..91a541a0 100644 --- a/about.html +++ b/about.html @@ -37,8 +37,8 @@ - - + +
- + diff --git a/assets/covers/win7-simu-custom-cursors.jpg b/assets/covers/win7-simu-custom-cursors.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1dc41c0ba335ad40895140284bad6908742f3820 GIT binary patch literal 107696 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 hYF zaM7y)`a<-=`O>dvHlBxB`q}ilOSjJ7Ro>$#e=~dQsrT$1J0`9jel&AaYu$2hy7On(4*wN1uYi5m9WKf|aqI2r`wlXRpObFh0$F2l z#al7bzm&0jcy6iA_h;UJ@fDazm%`J$ZYJ?+QP0aCZT%gdL^eP3=4ZlV!gIJyr1Y5& z4xbI#X6(A5)NkS(d^JB>$yOTiPs8jyI!nbil-IYuUHaC^=;Ui#nup?(qEt;ut3=IS z$4~^fYa-R3ZKU1DCo5#MyS}f|u`1Ci8t*cR7S#nMjBCU;vH-5u327c})-5Df#Tf_M z5_h>qAa1Elqu!}>W)#ANuTe3gYzSu~gwl*1_JwwcW1a$%TW!wXE-|#`2pp}3Kj1he z?Bm%dk*r9^&L4G}db^|^m!$2?*q8pK9$#oM>UX9g^F(#tKFB8olUl>-9a-s5TC(&N zc@Cb{n>LXH#N*P zLX0xf*d_U+$A|@w*LYmCpP1=k+SOXlI?eL|-=`+XElu)4HvcAs7XsNfAIWGY*I^OIOlgLbU&*C5tPC+7@1gAd42n_{MhR9df%xtJH++v zT~jA>eP`lK;L7Wom6V_1;XPYTwXPtOzfb})^n`98hE@PSx<2UggmRSS;KxjO)%q&Q zRb4NMptaX*uc@vlAv8qEYHAFQY85gjxsFw|YnI zQC?p`NYH|P9y@qr1>5S!kKSQzXu*5qF?vUy+bV%zg863CIkLv~=`dE-T)uwT!4&AP zymL339~hBP(aigBmfr#qRa*lUX<_ zSL#z3&QjqNQn5ubEI?$COM@ymb#mi zby?-&o{8z(|7tnqP@LNv8@MAj>RWHW`bJEjHZQ9`aObH$;R019T}$QvN!6C)uW{qH zg$DO_^x?1aL!_RJ?=nWTZWtqx(eEvo%Q$o3ok;X5FOp@bz1M{yFi8)7cioHHAKdx* zNmX0c;AloxVV@A41r7bT7WVE7@mYhhI zsS6&%qqu5WRXi{840BE}iqrfA!0lw5GFk@;xmp1As?@Q2n6_dMk@dicYY5^l(ilD)i2e51z4mrmVf1 zDVgQ0XS54HE?^X%-7ui<0Ky5Br^5DK!d8|mK=>CMp618E7Gyygpay}2y}d}*IzQSq z$&YtUA!Hv-pK;a3HyXN*2%cQLGxoBXhZ3QA31z6nM+e<^1W#q#gC8k zSAM-&Rv6PD^@^q5m}9e2uU13YaVg5h%NMjHRM}C7D$inCIS% z>)&U2?oCO{3(Mzb$;k~Bg?j$lF|E{_Ds2|?S5p6P|I?(+e|KG*mrF;AjmD^Ckd>>> zO9Msk{!%pB!sPYtr#YI!!I*-I8*O&Hn>^ZVjLP~`?g=U?TewFkV3*NRbT`M)uk(TA zMRmTUAO0_M>Oj5kD8zpp;_rlm5uQl+$R0_132~T>go(XI;v7FL!ohavR?$sI1Av3D zLzQBH4;csQgQll742vJ-F!XKC)4Cj(H3lfkE>}}<^?-Ym+_ovvJJ{5}DLyDS0Cn(0 z3Tv3-1MNFoaZuS8(GYLL9+-$a8@_fJ-zYsE9N_un*5(EeSvEk1d>#-x4%CUy`i<(SXx_5lD84_%Y!#YIiemcdK1h{kyINHkc?FY=WNtWIwCI$)= zj>KXKFha1i1St$wva>qklT&N#KtLW&~BXU0Gd5U9Q zS31=%IGILvCp%>&_(2?fDqtDc?p+>39p0(ZI-O zu&@!dy6_%x{cG3Mk@Tsz`0=$m$Iv!@ z*Z^$i5{lJ7Eb|ds{N5kC}(u>e$^r_lqxkD3nhby#D%;nDsj>XwnjHZ=_?UQU9 zVw}?U4sw&wCU7hPpfa3#p&?x%6qTG6^qezAm;}UB^1&G+Hu!QdFljehJ^&Ncq~yT9 zqPZ=9D5+tdJOCV0%Z|t|~?2 zk0N5Fzn2eayeE>|A}fa?8WhYfg(e}jA+9|#*jpEBeC;lery zfa%W;lVxw)ZWahU0Iv$vIeFT%#Gr1^ScjcGggM|RUKC=W)dJ+miVA|Dhu8~0^8{Jz z9C(&QM8n3S04G=*QaEaaJ(ma*99ryvt*G<^fFuw@^c^^s6k&5lxGrH@sKBryoF79T zJCcbyL?si^g#IY4GLue0Q^MSffX8&4AKFHztN=>KNx^r{;()^?fN^IDKi)A2v$m07 z;}_&%t_G65cyiR0|8EfwaKpwz`zf6V_=kO3zAFl3G!qsB6EQR%Vv+I-T_snp?c7fc zv-xfU3ITWEQ>ZbVn;t>R@w5y=a&Y8c(HPr_~r>Owc3aWbdEHk_AmuL|_) z+*aS7(nVGSU8q8Su7a4I<{YJWupLk%VLkj13O;o(DJ32$hm|P z+Kt%TO5dkVbcj6ttPE`56ktU{?lCe;JD3zxK!R*gOC$`yHj4qd%VDtKp%ZssP=0u{ z%lH^0Dht<#&xQfDWRy9G(e@C0%NK-UMF6z~uDKXI4rdmk1ej@pGo*<25ikm=p9KE} zkH#IYiMyXYj;DPg`4gmqYMtsQy7l|gNAyWp6%t2jJcG22cp^Vew2GhuzgGn#jI{ZwX zj+lb#>Uy6|py?cC1vH=9-r;p*LL;8EI=B6eQobS{Yt?ltBI=F=<&R4rm#<1B+`8VT Pk&0}UM~+GVYwW)PB_6d! literal 0 HcmV?d00001 diff --git a/assets/css/0.styles.ba6f7268.css b/assets/css/0.styles.98d491ec.css similarity index 95% rename from assets/css/0.styles.ba6f7268.css rename to assets/css/0.styles.98d491ec.css index 817adab8..6a5f8179 100644 --- a/assets/css/0.styles.ba6f7268.css +++ b/assets/css/0.styles.98d491ec.css @@ -1 +1 @@ -code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#1bb89b}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#1bb89b}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;-webkit-user-select:none;user-select:none;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}#app{transition:background .3s}.homepage .logo,.homepage>.home{padding:0;max-width:unset}.homepage .logo .footer,.homepage .logo .hero,.homepage>.home .footer,.homepage>.home .hero{display:none}.homepage .navbar{opacity:0;transform:translateY(-58px);transition:.3s}.homepage .navbar.show{opacity:1;transform:translateY(0)}.navbar{border:0;box-shadow:0 1px 1rem rgba(0,0,0,.08);transition:background .3s}.navbar .links{background:none!important}.navbar .search-box>input{border-color:transparent;border-radius:.5rem;background-color:#eee}.navbar .search-box>input.focused{background-color:transparent}.navbar .nav-item>a{height:2.4rem}.sidebar{transition:background .3s,transform .2s ease}.page{min-height:100vh;box-sizing:border-box}.nav-item>.dropdown-wrapper .nav-dropdown{border:0;box-shadow:0 .3rem .3rem rgba(0,0,0,.2)}.nav-item>.dropdown-wrapper .nav-dropdown .dropdown-item .nav-link{border-left:2px solid transparent;transition:.3s}.nav-item>.dropdown-wrapper .nav-dropdown .dropdown-item .nav-link.router-link-active{border-left-color:#1bb89b}.nav-item>.dropdown-wrapper .nav-dropdown .dropdown-item .nav-link:after{content:none}main{overflow-x:hidden}img[alt=win7simu]{width:45px;height:45px;vertical-align:bottom}.banner{margin:1rem 0;width:100%}.embed-responsive iframe{display:block;margin:auto;max-width:100%}.contains-task-list{list-style:none;padding:0}.contains-task-list input{margin:0 8px 0 0;transform:scale(1.2)}@media (max-width:719px){.nav-item>.dropdown-wrapper .nav-dropdown{box-shadow:none}}.nav-item:nth-child(2):before{content:"";position:absolute;z-index:-1;top:50%;left:30%;width:64px;height:64px;background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjU2NiAzLjU4NmE1IDUgMCAwMC0zLjUzIDYuMTI4bDMuNjM4IDEzLjUxOSA0LjgwNy01LjIyOSA2Ljc4MSAyLjExLTMuNjM3LTEzLjUxOGE1IDUgMCAwMC02LjEyOC0zLjUzbC0xLjkzMS41MnptLjA3NiA2LjU1Yy4wODMuMzA3LjA5NS41ODMuMDM2LjgzYTEuMjUgMS4yNSAwIDAxLS4zNC42MTkgMS4zOCAxLjM4IDAgMDEtLjYyMy4zNDljLS4yNS4wNjctLjQ4OS4wNy0uNzE4LjAxYTEuMjU0IDEuMjU0IDAgMDEtLjYwMy0uMzY1IDEuNjkgMS42OSAwIDAxLS4zODMtLjczNCAxLjY5NCAxLjY5NCAwIDAxLS4wMzctLjgyOWMuMDU3LS4yNDYuMTctLjQ1MS4zMzgtLjYxNy4xNjgtLjE2Ny4zNzctLjI4NC42MjYtLjM1MS4yNDgtLjA2Ny40ODctLjA3LjcxNi0uMDEuMjMuMDU5LjQzLjE4LjYwNC4zNjQuMTczLjE4My4zMDIuNDI4LjM4NC43MzV6bS0uNjAyLjE2M2ExLjMgMS4zIDAgMDAtLjIyNC0uNDc4LjcwNC43MDQgMCAwMC0uMzMyLS4yNDMuNjkyLjY5MiAwIDAwLS40MDQtLjAwNS42OTIuNjkyIDAgMDAtLjM0OC4yMDcuNzEyLjcxMiAwIDAwLS4xNjYuMzc3Yy0uMDIyLjE1Mi0uMDA2LjMyNy4wNDcuNTI2LjA1NC4xOTguMTI4LjM1Ny4yMjMuNDc4LjA5Ni4xMi4yMDcuMjAxLjMzMy4yNDMuMTI2LjA0MS4yNjEuMDQzLjQwNS4wMDRhLjY5Mi42OTIgMCAwMC4zNDctLjIwNi43MDQuNzA0IDAgMDAuMTY1LS4zNzcgMS4zIDEuMyAwIDAwLS4wNDYtLjUyNnptMS40MiAxLjEyNGwtLjc1Ni0yLjgxIDEuMTA4LS4yOTdjLjIxMy0uMDU4LjQwNi0uMDY2LjU3OC0uMDI1LjE3MS4wNC4zMTYuMTIyLjQzMy4yNDQuMTE4LjEyMS4yMDIuMjc1LjI1Mi40NjIuMDUuMTg2LjA1NS4zNjIuMDEzLjUyNmEuODYyLjg2MiAwIDAxLS4yNi40MjdjLS4xMzEuMTItLjMwNC4yMS0uNTIuMjY4bC0uNS4xMzQuMjQ2LjkxMS0uNTk0LjE2em0uNjI0LTEuNjU1bC0uNDAzLjEwOC0uMjUyLS45MzYuNC0uMTA4YS42MzMuNjMzIDAgMDEuMzAxLS4wMTguMzkuMzkgMCAwMS4yMTIuMTE4Yy4wNTYuMDYuMDk2LjEzNi4xMjIuMjMuMDI0LjA5Mi4wMjguMTc4LjAxLjI2YS40MDQuNDA0IDAgMDEtLjEyMy4yMS42Mi42MiAwIDAxLS4yNjcuMTM2em0xLjg3Ny45ODJsLS43NTYtMi44MSAxLjg5My0uNTA4LjEzMi40OS0xLjMuMzQ5LjE4LjY3IDEuMjAyLS4zMjQuMTMyLjQ5LTEuMjAxLjMyMy4xOC42NyAxLjMwNC0uMzUuMTMyLjQ5LTEuODk4LjUxem0zLjk1OS00LjA3OGwuNzU2IDIuODEtLjUxMy4xMzctMS42OTgtMS40MzktLjAyLjAwNi40NzUgMS43NjgtLjU5NC4xNi0uNzU2LTIuODEuNTIxLS4xNCAxLjY4OCAxLjQ0LjAyNS0uMDA2LS40NzUtMS43NjcuNTktLjE1OXptLTcuODQgMTAuM2wtLjc1Ny0yLjgwOSAxLjEyNS0uMzAyYy4yMDctLjA1Ni4zODctLjA3Mi41NDItLjA0OGEuNzExLjcxMSAwIDAxLjM4LjE3MmMuMDk4LjA4OS4xNjcuMjA0LjIwNC4zNDVhLjU4OC41ODggMCAwMS0uMTE0LjU1OS43Ny43NyAwIDAxLS4yMy4xOGwuMDA3LjAyOGEuNjY0LjY2NCAwIDAxLjYxNy4xODMuNzE2LjcxNiAwIDAxLjE4My4zMzMuNzU2Ljc1NiAwIDAxLS4wMDMuNDI5Ljc3NS43NzUgMCAwMS0uMjUxLjM2MyAxLjI4NCAxLjI4NCAwIDAxLS41MDQuMjQ0bC0xLjIuMzIzem0uNDYyLS42NDVsLjQ4NS0uMTNjLjE2NS0uMDQ1LjI3Ny0uMTA5LjMzNi0uMTkyYS4zMjguMzI4IDAgMDAuMDQ1LS4yODYuMzkuMzkgMCAwMC0uMTExLS4xOS4zOTYuMzk2IDAgMDAtLjE5OC0uMDk4LjU3LjU3IDAgMDAtLjI2LjAxNmwtLjQ5Ny4xMzQuMi43NDZ6bS0uMzA5LTEuMTQ4bC40NC0uMTE5YS41NDMuNTQzIDAgMDAuMjA2LS4xLjM3NC4zNzQgMCAwMC4xMTgtLjE2NC4zMzMuMzMzIDAgMDAuMDA1LS4yMDYuMzIuMzIgMCAwMC0uMTc1LS4yMTcuNDY1LjQ2NSAwIDAwLS4zMy0uMDFsLS40NS4xMi4xODYuNjk2em0yLjQgMS4xMDZsLS43NTYtMi44MDkgMS44OTMtLjUxLjEzMi40OS0xLjMuMzUuMTguNjcgMS4yMDItLjMyNC4xMzIuNDktMS4yMDEuMzIzLjE4LjY3IDEuMzA0LS4zNS4xMzIuNDktMS44OTguNTF6bTEuNjM0LTIuOTI3bC0uMTMyLS40OSAyLjMwNy0uNjIuMTMyLjQ5LS44Ni4yMy42MjQgMi4zMi0uNTg3LjE1OC0uNjI0LTIuMzItLjg2LjIzMnptMy40NTIgMS41NTlsLS42MzYuMTcxLjIxMy0zLjA3Ljc2Ni0uMjA2IDEuNzI0IDIuNTQ5LS42MzYuMTctLjM4LS41ODQtMS4wMTUuMjczLS4wMzYuNjk3em0uMTQ0LTIuMzYzbC42My45Ny0uNzEyLjE5Mi4wNi0xLjE1Ni4wMjItLjAwNnptLTUuNTktNi40NzZjLjUzMi0uMTQzLjg1NC0uNjcuNzE4LTEuMTc3LS4xMzYtLjUwNi0uNjgtLjgtMS4yMTMtLjY1Ny0uNTMzLjE0My0uODU1LjY3LS43MTggMS4xNzcuMTM2LjUwNy42NzkuOCAxLjIxMi42NTd6IiBmaWxsPSIjRUU0QjRCIi8+PC9zdmc+") no-repeat;background-size:100%}.is-dark body{color:#ededed;background:#1c1c1c}.is-dark .homepage section:first-child{background-image:url(/assets/home-bg-dark.jpg);background-color:transparent}.is-dark .navbar{background:#292929}.is-dark .navbar .links .dropdown-title{color:#ededed}.is-dark .navbar .links .nav-dropdown{background:#363636}.is-dark .navbar .links .nav-dropdown .dropdown-item h4{border-color:#434343}.is-dark .navbar .links .nav-link,.is-dark .navbar .site-name{color:#ededed}.is-dark .navbar .search-box input{background-color:hsla(0,0%,100%,.08);color:#eaeaea}.is-dark .sidebar{background:#212121;border-color:transparent}.is-dark .sidebar-link,.is-dark .sidebar .mobile-dropdown-title{color:#ededed}.is-dark .custom-block.tip{background:hsla(0,0%,100%,.08)}.is-dark .custom-block.warning{color:gold}.is-dark .custom-block.warning .custom-block-title{color:#ff0}.is-dark table td,.is-dark table th{border-color:#363636}.is-dark table tr:nth-child(2n){background:hsla(0,0%,100%,.08)}.is-dark h2{border-color:#434343}.is-dark code{color:#ededed;background-color:hsla(0,0%,100%,.08)}.is-dark .page-nav .inner{border-color:#434343}.is-dark .page-edit .last-updated .prefix{color:#ededed}.is-dark .page-edit .last-updated .time{color:#bebebe}.is-dark .content__default>footer{border-color:#434343;color:#eaeaea}.changelog h2{border:none;font-size:2rem;font-weight:700}.changelog .content__default ul:not(.social-share-list){margin-left:1rem}.changelog .sidebar .sidebar-sub-headers{padding-left:2.5rem;position:relative}.changelog .sidebar .sidebar-sub-headers:before{content:"";position:absolute;width:2px;height:100%;background:$$borderColor}.is-dark .changelog .sidebar .sidebar-sub-headers:before{background:#444}.changelog .sidebar .sidebar-sub-headers li a{padding-left:1rem}.tooltip{display:block!important;z-index:10000}.tooltip .tooltip-inner{background:#000;color:#fff;border-radius:6px;padding:5px 10px 4px}.tooltip .tooltip-arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:#000;z-index:1}.tooltip[x-placement^=top]{margin-bottom:5px}.tooltip[x-placement^=top] .tooltip-arrow{border-width:5px 5px 0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=bottom]{margin-top:5px}.tooltip[x-placement^=bottom] .tooltip-arrow{border-width:0 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=right]{margin-left:5px}.tooltip[x-placement^=right] .tooltip-arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip[x-placement^=left]{margin-right:5px}.tooltip[x-placement^=left] .tooltip-arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover{$color:#f9f9f9}.tooltip.popover .popover-inner{background:$color;color:#000;padding:24px;border-radius:5px;box-shadow:0 5px 30px rgba(0,0,0,.1)}.tooltip.popover .popover-arrow{border-color:$color}.tooltip[aria-hidden=true]{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}#nprogress{pointer-events:none}#nprogress .bar{background:#1bb89b;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #1bb89b,0 0 5px #1bb89b;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#1bb89b transparent transparent #1bb89b;border-style:solid;border-width:2px;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}html{scroll-behavior:smooth}.social-share{position:relative;box-sizing:border-box}.social-share-list{list-style:none;padding:0;margin:0;line-height:1}.social-share-network{position:relative;display:inline-block;vertical-align:middle}.social-share-trigger{color:#6a8bad}.social-share-btn{position:relative;width:56px;height:56px;padding:0;border-radius:50%;font-size:32px;font-family:inherit;text-align:center;background:none;border:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:all .3s ease-out}.social-share-btn:not(.social-share-trigger){color:#545e66}.social-share-btn:not(.social-share-trigger):hover{background-color:hsla(0,0%,73.7%,.15)}.social-share-icon-svg svg{width:1em!important;height:1em!important;fill:currentColor!important;vertical-align:-.15em!important;overflow:hidden!important}.social-share-icon-img{position:absolute;top:50%;left:50%;display:block;width:1em;height:1em;margin:-.5em 0 0 -.5em;background-repeat:no-repeat;background-position:50%;background-size:contain}.social-share-global{position:fixed;right:0;bottom:50%;z-index:99999;background-color:#fff;border:1px solid #efefef;border-right:none;border-radius:8px 0 0 8px;transform:translateY(50%);transition:all .3s ease-out;box-shadow:-2px 1px 6px rgba(0,0,0,.08)}.social-share-global .social-share-network{display:block}.social-share-global .social-share-btn{width:60px;height:60px;border-radius:5px;font-size:36px}.social-share-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,.5);transition:all .3s ease-out;opacity:0}.social-share-overlay.show{opacity:1}.social-share-qrcode{display:block;border-radius:4px;overflow:hidden;box-shadow:0 0 4px rgba(0,0,0,.08)}@media screen and (max-width:719px){.social-share-btn{width:40px;height:40px;font-size:28px}.social-share-global{bottom:15%;border-radius:5px 0 0 5px;transform:translate(0);box-shadow:-1px 1px 3px rgba(0,0,0,.03)}.social-share-global .social-share-btn{width:40px;height:40px;font-size:28px;border-radius:3px}}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#1bb89b;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #18a68b}.home .hero .action-button:hover{background-color:#1fd2b1}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169}.home .feature p{color:#4e6e8e}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#4e6e8e}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#1bb89b}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#1bb89b}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#1bb89b}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#1bb89b}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #1bb89b;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#1bb89b}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #1ecdad}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#1bb89b;border-left-color:#1bb89b}.sidebar-heading.clickable:hover{color:#1bb89b}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#1bb89b}a.sidebar-link.active{font-weight:600;color:#1bb89b;border-left-color:#1bb89b}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}.content__default[data-v-56d60325]{max-width:1200px}[data-v-56d60325] .page-edit{display:none}.ad-wrapper{max-width:740px;margin:0 auto}[data-v-93cd5b66] .page-edit{display:none}.content__default[data-v-3edf7ac0]{max-width:900px}[data-v-3edf7ac0] .page-edit{display:none}ins[data-v-3edf7ac0]{margin:2rem 0}.feature-links[data-v-3edf7ac0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:2.5rem 1.5rem;list-style:none;padding:0;margin:0}.feature-links li[data-v-3edf7ac0]{flex:1 1 200px}.feature-links li a[data-v-3edf7ac0]{color:currentColor;display:block;text-align:center;transition:color .3s}.feature-links li a .image[data-v-3edf7ac0]{color:#eee;height:200px;overflow:hidden;border-radius:6px;box-shadow:0 .2rem .6rem rgba(0,0,0,.1);position:relative}.is-dark .feature-links li a .image[data-v-3edf7ac0]{color:#292929}.feature-links li a .image .iconify[data-v-3edf7ac0]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0}.feature-links li a .image img[data-v-3edf7ac0]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top left;object-position:top left;transition:transform .3s ease-out;position:relative;z-index:1}.feature-links li a span[data-v-3edf7ac0]{display:block;margin-top:5px;font-size:1.2em;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;text-transform:capitalize}.feature-links li a[data-v-3edf7ac0]:hover{color:#1bb89b;text-decoration:none}.feature-links li a:hover img[data-v-3edf7ac0]{transform:scale(1.06)}.content__default[data-v-41cc6025]{margin-bottom:-2.5rem}.ad-wrapper[data-v-41cc6025]{max-width:740px;margin:0 auto}.a-button[data-v-4ef368cc]{background:#545e66;border:0;border-radius:.2rem;box-shadow:0 4px #2c3e50;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;padding:.6rem 1.8rem;transition:transform .2s,box-shadow .2s}.a-button[data-v-4ef368cc]:active{transform:translateY(4px);box-shadow:none}.a-button[data-v-4ef368cc]:hover{text-decoration:none!important}a[data-v-7233fed5]{display:flex;align-items:center;color:#2c3e50;transition:color .3s;margin-right:.5rem}.is-dark a[data-v-7233fed5]{color:#eaeaea}a[data-v-7233fed5]:hover{color:#1bb89b;text-decoration:none!important}a img[data-v-7233fed5]{width:2rem;height:2rem;margin-right:.25rem}button[data-v-00e9533b]{width:24px;height:24px;padding:12px;box-sizing:unset;background:#eee;border:none;border-radius:50%;color:#2c3e50;cursor:pointer;transition:all .2s}button[data-v-00e9533b]:hover{transform:scale(1.15)}button.active[data-v-00e9533b]{transform:scale(1.15);background:#1bb89b;color:#fff}.is-dark button[data-v-00e9533b]:not(.active){background:#292929;color:#aaa}.first-created[data-v-08d268a8]{display:flex;align-items:center;gap:4px}.adsbygoogle[data-ad-status=filled][data-v-653796b7]{margin:3rem 0;text-align:center}iconify-icon[data-v-d01ba734]{display:block}span[data-v-1f6ea1c9]{display:inline-flex;align-items:center;vertical-align:middle;margin-left:.25rem}.banner[data-v-2685687c]{margin:2rem auto}.page-edit[data-v-d53989e8]{padding:0}p[data-v-d53989e8]{text-align:right}b[data-v-d53989e8]{font-weight:500}.Vue-Toastification__container{z-index:9999;position:fixed;padding:4px;width:600px;box-sizing:border-box;display:flex;min-height:100%;color:#fff;flex-direction:column;pointer-events:none}@media only screen and (min-width:600px){.Vue-Toastification__container.top-center,.Vue-Toastification__container.top-left,.Vue-Toastification__container.top-right{top:1em}.Vue-Toastification__container.bottom-center,.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.bottom-right{bottom:1em;flex-direction:column-reverse}.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.top-left{left:1em}.Vue-Toastification__container.bottom-left .Vue-Toastification__toast,.Vue-Toastification__container.top-left .Vue-Toastification__toast{margin-right:auto}@supports not (-moz-appearance:none){.Vue-Toastification__container.bottom-left .Vue-Toastification__toast--rtl,.Vue-Toastification__container.top-left .Vue-Toastification__toast--rtl{margin-right:unset;margin-left:auto}}.Vue-Toastification__container.bottom-right,.Vue-Toastification__container.top-right{right:1em}.Vue-Toastification__container.bottom-right .Vue-Toastification__toast,.Vue-Toastification__container.top-right .Vue-Toastification__toast{margin-left:auto}@supports not (-moz-appearance:none){.Vue-Toastification__container.bottom-right .Vue-Toastification__toast--rtl,.Vue-Toastification__container.top-right .Vue-Toastification__toast--rtl{margin-left:unset;margin-right:auto}}.Vue-Toastification__container.bottom-center,.Vue-Toastification__container.top-center{left:50%;margin-left:-300px}.Vue-Toastification__container.bottom-center .Vue-Toastification__toast,.Vue-Toastification__container.top-center .Vue-Toastification__toast{margin-left:auto;margin-right:auto}}@media only screen and (max-width:600px){.Vue-Toastification__container{width:100vw;padding:0;left:0;margin:0}.Vue-Toastification__container .Vue-Toastification__toast{width:100%}.Vue-Toastification__container.top-center,.Vue-Toastification__container.top-left,.Vue-Toastification__container.top-right{top:0}.Vue-Toastification__container.bottom-center,.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.bottom-right{bottom:0;flex-direction:column-reverse}}.Vue-Toastification__toast{display:inline-flex;position:relative;max-height:800px;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:22px 24px;border-radius:8px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);justify-content:space-between;font-family:Lato,Helvetica,Roboto,Arial,sans-serif;max-width:600px;min-width:326px;pointer-events:auto;overflow:hidden;transform:translateZ(0);direction:ltr}.Vue-Toastification__toast--rtl{direction:rtl}.Vue-Toastification__toast--default{background-color:#1976d2;color:#fff}.Vue-Toastification__toast--info{background-color:#2196f3;color:#fff}.Vue-Toastification__toast--success{background-color:#4caf50;color:#fff}.Vue-Toastification__toast--error{background-color:#ff5252;color:#fff}.Vue-Toastification__toast--warning{background-color:#ffc107;color:#fff}@media only screen and (max-width:600px){.Vue-Toastification__toast{border-radius:0;margin-bottom:.5rem}}.Vue-Toastification__toast-body{flex:1;line-height:24px;font-size:16px;word-break:break-word;white-space:pre-wrap}.Vue-Toastification__toast-component-body{flex:1}.Vue-Toastification__toast.disable-transition{transition:none!important;animation:none!important}.Vue-Toastification__close-button{font-weight:700;font-size:24px;line-height:24px;background:transparent;outline:none;border:none;padding:0 0 0 10px;cursor:pointer;transition:.3s ease;align-items:center;color:#fff;opacity:.3;transition:visibility 0s,opacity .2s linear}.Vue-Toastification__close-button:focus,.Vue-Toastification__close-button:hover{opacity:1}.Vue-Toastification__toast:not(:hover) .Vue-Toastification__close-button.show-on-hover{opacity:0}.Vue-Toastification__toast--rtl .Vue-Toastification__close-button{padding-left:unset;padding-right:10px}@keyframes scale-x-frames{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Vue-Toastification__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:10000;background-color:hsla(0,0%,100%,.7);transform-origin:left;animation:scale-x-frames linear 1 forwards}.Vue-Toastification__toast--rtl .Vue-Toastification__progress-bar{right:0;left:unset;transform-origin:right}.Vue-Toastification__icon{margin:auto 18px auto 0;background:transparent;outline:none;border:none;padding:0;transition:.3s ease;align-items:center;width:20px;height:100%}.Vue-Toastification__toast--rtl .Vue-Toastification__icon{margin:auto 0 auto 18px}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{40%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(1000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Vue-Toastification__bounce-enter-active.bottom-left,.Vue-Toastification__bounce-enter-active.top-left{animation-name:bounceInLeft}.Vue-Toastification__bounce-enter-active.bottom-right,.Vue-Toastification__bounce-enter-active.top-right{animation-name:bounceInRight}.Vue-Toastification__bounce-enter-active.top-center{animation-name:bounceInDown}.Vue-Toastification__bounce-enter-active.bottom-center{animation-name:bounceInUp}.Vue-Toastification__bounce-leave-active.bottom-left,.Vue-Toastification__bounce-leave-active.top-left{animation-name:bounceOutLeft}.Vue-Toastification__bounce-leave-active.bottom-right,.Vue-Toastification__bounce-leave-active.top-right{animation-name:bounceOutRight}.Vue-Toastification__bounce-leave-active.top-center{animation-name:bounceOutUp}.Vue-Toastification__bounce-leave-active.bottom-center{animation-name:bounceOutDown}.Vue-Toastification__bounce-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}@keyframes fadeOutTop{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}@keyframes fadeOutLeft{0%{transform:translateX(0);opacity:1}to{transform:translateX(-50px);opacity:0}}@keyframes fadeOutBottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(50px);opacity:0}}@keyframes fadeOutRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(50px);opacity:0}}@keyframes fadeInLeft{0%{transform:translateX(-50px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeInRight{0%{transform:translateX(50px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeInTop{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInBottom{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.Vue-Toastification__fade-enter-active.bottom-left,.Vue-Toastification__fade-enter-active.top-left{animation-name:fadeInLeft}.Vue-Toastification__fade-enter-active.bottom-right,.Vue-Toastification__fade-enter-active.top-right{animation-name:fadeInRight}.Vue-Toastification__fade-enter-active.top-center{animation-name:fadeInTop}.Vue-Toastification__fade-enter-active.bottom-center{animation-name:fadeInBottom}.Vue-Toastification__fade-leave-active.bottom-left,.Vue-Toastification__fade-leave-active.top-left{animation-name:fadeOutLeft}.Vue-Toastification__fade-leave-active.bottom-right,.Vue-Toastification__fade-leave-active.top-right{animation-name:fadeOutRight}.Vue-Toastification__fade-leave-active.top-center{animation-name:fadeOutTop}.Vue-Toastification__fade-leave-active.bottom-center{animation-name:fadeOutBottom}.Vue-Toastification__fade-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}@keyframes slideInBlurredLeft{0%{transform:translateX(-1000px) scaleX(2.5) scaleY(.2);transform-origin:100% 50%;filter:blur(40px);opacity:0}to{transform:translateX(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredTop{0%{transform:translateY(-1000px) scaleY(2.5) scaleX(.2);transform-origin:50% 0;filter:blur(240px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredRight{0%{transform:translateX(1000px) scaleX(2.5) scaleY(.2);transform-origin:0 50%;filter:blur(40px);opacity:0}to{transform:translateX(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredBottom{0%{transform:translateY(1000px) scaleY(2.5) scaleX(.2);transform-origin:50% 100%;filter:blur(240px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideOutBlurredTop{0%{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 0;filter:blur(0);opacity:1}to{transform:translateY(-1000px) scaleY(2) scaleX(.2);transform-origin:50% 0;filter:blur(240px);opacity:0}}@keyframes slideOutBlurredBottom{0%{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translateY(1000px) scaleY(2) scaleX(.2);transform-origin:50% 100%;filter:blur(240px);opacity:0}}@keyframes slideOutBlurredLeft{0%{transform:translateX(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translateX(-1000px) scaleX(2) scaleY(.2);transform-origin:100% 50%;filter:blur(40px);opacity:0}}@keyframes slideOutBlurredRight{0%{transform:translateX(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translateX(1000px) scaleX(2) scaleY(.2);transform-origin:0 50%;filter:blur(40px);opacity:0}}.Vue-Toastification__slideBlurred-enter-active.bottom-left,.Vue-Toastification__slideBlurred-enter-active.top-left{animation-name:slideInBlurredLeft}.Vue-Toastification__slideBlurred-enter-active.bottom-right,.Vue-Toastification__slideBlurred-enter-active.top-right{animation-name:slideInBlurredRight}.Vue-Toastification__slideBlurred-enter-active.top-center{animation-name:slideInBlurredTop}.Vue-Toastification__slideBlurred-enter-active.bottom-center{animation-name:slideInBlurredBottom}.Vue-Toastification__slideBlurred-leave-active.bottom-left,.Vue-Toastification__slideBlurred-leave-active.top-left{animation-name:slideOutBlurredLeft}.Vue-Toastification__slideBlurred-leave-active.bottom-right,.Vue-Toastification__slideBlurred-leave-active.top-right{animation-name:slideOutBlurredRight}.Vue-Toastification__slideBlurred-leave-active.top-center{animation-name:slideOutBlurredTop}.Vue-Toastification__slideBlurred-leave-active.bottom-center{animation-name:slideOutBlurredBottom}.Vue-Toastification__slideBlurred-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}.Vue-Toastification__toast--default{background:#292929;box-shadow:none;color:#eaeaea}.Vue-Toastification__close-button{color:#eaeaea}.Vue-Toastification__icon{display:none}.site-settings[data-v-39672356]{position:fixed;right:0;bottom:0;width:64px;height:64px}.toggle[data-v-39672356]{width:100%;height:100%;padding:20% 54% 54% 20%;background:none;border:none;border-radius:50%;cursor:pointer;background:#1bb89b;transition:transform .2s;color:#fff}.site-settings:hover .toggle[data-v-39672356],.toggle.active[data-v-39672356]{transform:scale(1.2)}.toggle[data-v-39672356] iconify-icon{margin-top:-16px;margin-left:8px}ul[data-v-39672356]{position:absolute;width:100%;height:100%;top:0;left:0;margin:0;padding:0;list-style:none;display:flex;z-index:-1;transform:scale(0)}ul li[data-v-39672356]{position:absolute}ul li[data-v-39672356]:first-child{transform:translateX(-150%)}ul li[data-v-39672356]:nth-child(2){transform:translate(-100%,-100%)}ul li[data-v-39672356]:last-child{transform:translateY(-150%)}.access[data-v-54c781ee]{margin:2rem 0;text-align:center}.access a[data-v-54c781ee]{display:inline-block;margin:.6rem;transition:transform .2s}.access a[data-v-54c781ee]:hover{transform:scale(1.05)}.blog-meta[data-v-37d0b7b8]{display:flex;flex-wrap:wrap;justify-content:space-between}.blog-links[data-v-bb2a7418]{display:grid;gap:3rem 2rem;list-style:none;padding:0}.blog-links>li[data-v-bb2a7418]{border-radius:1rem;box-shadow:0 .2rem 1rem rgba(0,0,0,.1);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.is-dark .blog-links>li[data-v-bb2a7418]{background:#1f1f1f}.blog-links a[data-v-bb2a7418]{display:flex;flex-direction:column;color:currentColor;font-weight:unset}.blog-links a[data-v-bb2a7418]>:not(.blog-image){padding:0 1.5rem}.blog-links a .blog-image[data-v-bb2a7418]{height:250px;overflow:hidden}.blog-links a .blog-image img[data-v-bb2a7418]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease-out}.blog-links a .first-created[data-v-bb2a7418]{font-size:.9rem}.blog-links a h2[data-v-bb2a7418]{border-bottom:none;transition:color .3s}.blog-links a[data-v-bb2a7418]:hover{text-decoration:none}.blog-links a:hover img[data-v-bb2a7418]{transform:scale(1.06)}.blog-links a:hover h2[data-v-bb2a7418]{color:#1bb89b}@media (min-width:720px){.blog-links[data-v-bb2a7418]{grid-template-columns:1fr 1fr}}@media (min-width:960px){.blog-links[data-v-bb2a7418]{grid-template-columns:1fr 1fr 1fr}}div[data-v-7e0173ee]{display:flex;align-items:center}div svg[data-v-7e0173ee]{width:1rem;height:1rem}ul[data-v-7e0173ee]{list-style:none;display:flex;gap:.5rem;padding:1rem 1.5rem 1.5rem;font-size:.85rem}ul a[data-v-7e0173ee]{background:#eee;border-radius:.4rem;color:currentColor;font-weight:400;padding:.3rem .4rem}ul a[data-v-7e0173ee]:hover{text-decoration:underline}.is-dark ul a[data-v-7e0173ee]{background:#292929}nav[data-v-7c5b105f]{display:flex;flex-wrap:wrap;justify-content:center;margin:2rem 0}nav a[data-v-7c5b105f]{background:#eee;border-radius:1rem;color:currentColor;margin:.3rem;padding:.6rem;min-width:4rem;text-align:center}nav a.router-link-exact-active[data-v-7c5b105f]{color:#fff;background:#1bb89b}nav a[data-v-7c5b105f]:hover{text-decoration:none!important}.is-dark nav a[data-v-7c5b105f]:not(.router-link-exact-active){background:#292929}@media (min-width:420px){nav a[data-v-7c5b105f]{margin:.5rem;padding:1rem}}section[data-v-a37ba0d0]{margin:0 auto;max-width:740px;padding:2rem 2.5rem}div[data-v-43263439]{margin:.5rem 0}input[data-v-43263439],textarea[data-v-43263439]{outline:none;padding:.5rem 1rem;width:100%;font-size:100%;font-family:inherit;box-sizing:border-box;border-radius:6px;border:1px solid #aaa}input[data-v-43263439]:focus,textarea[data-v-43263439]:focus{border-color:#1bb89b}input.error[data-v-43263439],textarea.error[data-v-43263439]{border-color:red}textarea[data-v-43263439]{height:200px;resize:vertical}ul[data-v-59795e29]{list-style:none;margin:0;padding:0}li[data-v-59795e29]{border:1px solid;border-radius:4px;box-sizing:border-box;text-align:center;margin:12px 4px;padding:0 16px;width:100%}h2[data-v-59795e29]{border:0;margin-bottom:0;padding:0}@media (min-width:720px){ul[data-v-59795e29]{display:flex}}.link-buttons[data-v-fe445868]{margin:0 auto 1.8rem;padding:0;list-style:none;display:flex;justify-content:center}.link-buttons a[data-v-fe445868]{display:block;min-width:64px;padding:12px;margin:0 4px;border-radius:8px;box-sizing:border-box;transition-property:transform,box-shadow;transition-duration:.2s;background:#eee;box-shadow:0 3px #d0d0d0;border-bottom:2px solid #d0d0d0}.link-buttons a[data-v-fe445868]:hover{transform:translateY(3px);box-shadow:none!important}.link-buttons a img[data-v-fe445868]{display:block;margin:auto;width:auto}.link-buttons a[data-social=twitter][data-v-fe445868]{background:#1da1f2;box-shadow:0 3px #2f81be;border-bottom:2px solid #2f81be}.link-buttons a[data-social=twitter][data-v-fe445868]:hover{transform:translateY(3px);box-shadow:none!important}.link-buttons a[data-social=github][data-v-fe445868]{background:#333;box-shadow:0 3px #000;border-bottom:2px solid #000}.link-buttons a[data-social=github][data-v-fe445868]:hover{transform:translateY(3px);box-shadow:none!important}.link-buttons a[data-social=youtube][data-v-fe445868]{background:red;box-shadow:0 3px #900;border-bottom:2px solid #900}.link-buttons a[data-social=youtube][data-v-fe445868]:hover{transform:translateY(3px);box-shadow:none!important}footer[data-v-fe445868]{border-top:1px solid #eaecef;color:#2c3e50;padding:2.5rem;text-align:center}.is-dark footer[data-v-fe445868]{border-color:#444;color:#eaeaea}.home .footer{padding:0}.social[data-v-4bc0a2be]{display:flex;align-items:center;justify-content:flex-end}.is-dark .social[data-v-4bc0a2be] .social-share .social-share-btn{color:#8c8c8c}.social[data-v-4bc0a2be] .social-share .social-share-btn:hover{color:#1bb89b}.social[data-v-4bc0a2be] .social-share .social-share-btn{width:2.5rem;height:2.5rem;font-size:1.5rem}.social[data-v-4bc0a2be] .social-share .social-share-btn>span,section[data-v-568d8f4c]{display:flex;align-items:center;justify-content:center}section[data-v-568d8f4c]{background-image:url(/assets/home-bg.jpg);background-color:#1596f2;background-size:cover;background-attachment:fixed;transition:background .3s;height:100vh;max-height:900px;min-height:500px;box-sizing:border-box;flex-direction:column;position:relative}h1[data-v-568d8f4c]{font-weight:400}button[data-v-568d8f4c]{background:none;border:0;display:block;cursor:pointer;position:relative}button span[data-v-568d8f4c]{display:block;color:#fff;font-size:1.5rem;text-align:center;text-shadow:0 1px 2px #000}button span[data-v-568d8f4c]:first-child{width:150px;height:150px}button span:first-child img[data-v-568d8f4c]{width:100%;height:100%}h1[data-v-568d8f4c]{padding:1rem 2rem;margin:0;color:#fff;text-align:center;text-shadow:0 1px 2px #000;max-width:600px;font-size:3.5rem}.indicator[data-v-568d8f4c]{border:2px solid #fff;border-radius:24px;width:24px;height:36px;position:absolute;bottom:12px}.indicator[data-v-568d8f4c]:before{content:"";position:absolute;width:4px;height:6px;background:#fff;border-radius:2px;top:10%;left:calc(50% - 2px);animation:scroll-down-568d8f4c 1.5s infinite}@media (max-width:640px){h1[data-v-568d8f4c]{font-size:2rem}}@keyframes scroll-down-568d8f4c{0%{opacity:.2;transform:translateY(0)}to{opacity:1;transform:translateY(8px)}}div[data-v-e7a7a3f0]{width:180px;height:200px;flex-shrink:0;overflow:hidden;border-radius:50%}div>iframe[data-v-e7a7a3f0]{border:0;width:180px;height:300px}div[data-v-e7a7a3f0],img[data-v-e7a7a3f0]{margin-right:2rem}.right div[data-v-e7a7a3f0],.right img[data-v-e7a7a3f0]{margin-right:0;margin-left:2rem}@media (max-width:640px){div[data-v-e7a7a3f0],img[data-v-e7a7a3f0]{margin:0!important}}ul[data-v-65ae56a6]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}li[data-v-65ae56a6]{background:rgba(0,0,0,.05);border-radius:1rem;padding:3rem;position:relative}li[data-v-65ae56a6]:before{content:"\201C";display:block;font-family:serif;font-size:16rem;opacity:.1;position:absolute;top:-6rem;left:.5rem}li .content[data-v-65ae56a6]{font-style:italic;margin-bottom:2rem}li figure[data-v-65ae56a6]{margin:0;display:flex;align-items:center}li figure img[data-v-65ae56a6]{border-radius:50%}li figcaption[data-v-65ae56a6]{margin-left:2rem}li figcaption .author[data-v-65ae56a6]{font-size:1.2rem;font-weight:700}.is-dark li[data-v-65ae56a6]{background:#292929}@media (max-width:959px){ul[data-v-65ae56a6]{grid-template-columns:none}}@media (max-width:419px){li[data-v-65ae56a6]{padding:2rem}}section[data-v-06508d2a]{padding:8rem 4rem}section>div[data-v-06508d2a]{align-items:center;display:flex;justify-content:center;margin:auto;max-width:1024px}section article>h2[data-v-06508d2a]{border:0;margin-top:0;font-size:2.5rem}section article>p[data-v-06508d2a]{text-align:justify;max-width:640px}section article>footer[data-v-06508d2a]{text-align:right}section article>footer>a[data-v-06508d2a]{display:inline-block;font-size:1rem;padding:.4rem 1.5rem}section article>footer>a[data-v-06508d2a]:not(:first-child){margin-left:8%}section.right>div>[data-v-06508d2a]:first-child{order:1}section.right article>footer[data-v-06508d2a]{text-align:left}section.right article>footer>a[data-v-06508d2a]:not(:first-child){margin-right:8%}section.center footer[data-v-06508d2a],section.center h2[data-v-06508d2a]{text-align:center}section.is-dark[data-v-06508d2a]{background:rgba(0,0,0,.05)}@media (max-width:640px){section[data-v-06508d2a]{padding:4rem 2rem}section>div[data-v-06508d2a]{flex-direction:column}section>div article>footer[data-v-06508d2a],section>div article>h2[data-v-06508d2a]{text-align:center}section.right>div [data-v-06508d2a]:first-child{order:unset}section.right article>footer[data-v-06508d2a],section.right article>h2[data-v-06508d2a]{text-align:center}}ul[data-v-145d0661]{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:0 0 1rem;padding:0}li[data-v-145d0661]{background:#fff;border-radius:.75rem;box-shadow:0 .2rem 1rem rgba(0,0,0,.1);overflow:hidden}li:hover img[data-v-145d0661]{transform:scale(1.4)}.is-dark li[data-v-145d0661]{background:#292929}span[data-v-145d0661]{display:block;overflow:hidden}span[data-v-145d0661]:last-child{color:#2c3e50;padding:.5rem 1rem;text-align:center}.is-dark span[data-v-145d0661]:last-child{color:#eaeaea}img[data-v-145d0661]{display:block;transform:scale(1.35);transition:transform .3s ease-out}@media (max-width:959px){ul[data-v-145d0661]{grid-template-columns:repeat(2,1fr)}}@media (max-width:719px){ul[data-v-145d0661]{grid-template-columns:none}}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-group__nav[data-v-deefee04]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-deefee04]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-deefee04]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-deefee04]{border-bottom:1px solid #42b983}.pre-blank[data-v-deefee04]{color:#42b983}.theme-code-block[data-v-759a7d02]{display:none}.theme-code-block__active[data-v-759a7d02]{display:block}.theme-code-block>pre[data-v-759a7d02]{background-color:orange} \ No newline at end of file +code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#1bb89b}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#1bb89b}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;-webkit-user-select:none;user-select:none;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}#app{transition:background .3s}.homepage .logo,.homepage>.home{padding:0;max-width:unset}.homepage .logo .footer,.homepage .logo .hero,.homepage>.home .footer,.homepage>.home .hero{display:none}.homepage .navbar{opacity:0;transform:translateY(-58px);transition:.3s}.homepage .navbar.show{opacity:1;transform:translateY(0)}.navbar{border:0;box-shadow:0 1px 1rem rgba(0,0,0,.08);transition:background .3s}.navbar .links{background:none!important}.navbar .search-box>input{border-color:transparent;border-radius:.5rem;background-color:#eee}.navbar .search-box>input.focused{background-color:transparent}.navbar .nav-item>a{height:2.4rem}.sidebar{transition:background .3s,transform .2s ease}.page{min-height:100vh;box-sizing:border-box}.nav-item>.dropdown-wrapper .nav-dropdown{border:0;box-shadow:0 .3rem .3rem rgba(0,0,0,.2)}.nav-item>.dropdown-wrapper .nav-dropdown .dropdown-item .nav-link{border-left:2px solid transparent;transition:.3s}.nav-item>.dropdown-wrapper .nav-dropdown .dropdown-item .nav-link.router-link-active{border-left-color:#1bb89b}.nav-item>.dropdown-wrapper .nav-dropdown .dropdown-item .nav-link:after{content:none}main{overflow-x:hidden}img[alt=win7simu]{width:45px;height:45px;vertical-align:bottom}.banner{margin:1rem 0;width:100%}.embed-responsive iframe{display:block;margin:auto;max-width:100%}.contains-task-list{list-style:none;padding:0}.contains-task-list input{margin:0 8px 0 0;transform:scale(1.2)}@media (max-width:719px){.nav-item>.dropdown-wrapper .nav-dropdown{box-shadow:none}}.nav-item:nth-child(2):before{content:"";position:absolute;z-index:-1;top:50%;left:30%;width:64px;height:64px;background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjU2NiAzLjU4NmE1IDUgMCAwMC0zLjUzIDYuMTI4bDMuNjM4IDEzLjUxOSA0LjgwNy01LjIyOSA2Ljc4MSAyLjExLTMuNjM3LTEzLjUxOGE1IDUgMCAwMC02LjEyOC0zLjUzbC0xLjkzMS41MnptLjA3NiA2LjU1Yy4wODMuMzA3LjA5NS41ODMuMDM2LjgzYTEuMjUgMS4yNSAwIDAxLS4zNC42MTkgMS4zOCAxLjM4IDAgMDEtLjYyMy4zNDljLS4yNS4wNjctLjQ4OS4wNy0uNzE4LjAxYTEuMjU0IDEuMjU0IDAgMDEtLjYwMy0uMzY1IDEuNjkgMS42OSAwIDAxLS4zODMtLjczNCAxLjY5NCAxLjY5NCAwIDAxLS4wMzctLjgyOWMuMDU3LS4yNDYuMTctLjQ1MS4zMzgtLjYxNy4xNjgtLjE2Ny4zNzctLjI4NC42MjYtLjM1MS4yNDgtLjA2Ny40ODctLjA3LjcxNi0uMDEuMjMuMDU5LjQzLjE4LjYwNC4zNjQuMTczLjE4My4zMDIuNDI4LjM4NC43MzV6bS0uNjAyLjE2M2ExLjMgMS4zIDAgMDAtLjIyNC0uNDc4LjcwNC43MDQgMCAwMC0uMzMyLS4yNDMuNjkyLjY5MiAwIDAwLS40MDQtLjAwNS42OTIuNjkyIDAgMDAtLjM0OC4yMDcuNzEyLjcxMiAwIDAwLS4xNjYuMzc3Yy0uMDIyLjE1Mi0uMDA2LjMyNy4wNDcuNTI2LjA1NC4xOTguMTI4LjM1Ny4yMjMuNDc4LjA5Ni4xMi4yMDcuMjAxLjMzMy4yNDMuMTI2LjA0MS4yNjEuMDQzLjQwNS4wMDRhLjY5Mi42OTIgMCAwMC4zNDctLjIwNi43MDQuNzA0IDAgMDAuMTY1LS4zNzcgMS4zIDEuMyAwIDAwLS4wNDYtLjUyNnptMS40MiAxLjEyNGwtLjc1Ni0yLjgxIDEuMTA4LS4yOTdjLjIxMy0uMDU4LjQwNi0uMDY2LjU3OC0uMDI1LjE3MS4wNC4zMTYuMTIyLjQzMy4yNDQuMTE4LjEyMS4yMDIuMjc1LjI1Mi40NjIuMDUuMTg2LjA1NS4zNjIuMDEzLjUyNmEuODYyLjg2MiAwIDAxLS4yNi40MjdjLS4xMzEuMTItLjMwNC4yMS0uNTIuMjY4bC0uNS4xMzQuMjQ2LjkxMS0uNTk0LjE2em0uNjI0LTEuNjU1bC0uNDAzLjEwOC0uMjUyLS45MzYuNC0uMTA4YS42MzMuNjMzIDAgMDEuMzAxLS4wMTguMzkuMzkgMCAwMS4yMTIuMTE4Yy4wNTYuMDYuMDk2LjEzNi4xMjIuMjMuMDI0LjA5Mi4wMjguMTc4LjAxLjI2YS40MDQuNDA0IDAgMDEtLjEyMy4yMS42Mi42MiAwIDAxLS4yNjcuMTM2em0xLjg3Ny45ODJsLS43NTYtMi44MSAxLjg5My0uNTA4LjEzMi40OS0xLjMuMzQ5LjE4LjY3IDEuMjAyLS4zMjQuMTMyLjQ5LTEuMjAxLjMyMy4xOC42NyAxLjMwNC0uMzUuMTMyLjQ5LTEuODk4LjUxem0zLjk1OS00LjA3OGwuNzU2IDIuODEtLjUxMy4xMzctMS42OTgtMS40MzktLjAyLjAwNi40NzUgMS43NjgtLjU5NC4xNi0uNzU2LTIuODEuNTIxLS4xNCAxLjY4OCAxLjQ0LjAyNS0uMDA2LS40NzUtMS43NjcuNTktLjE1OXptLTcuODQgMTAuM2wtLjc1Ny0yLjgwOSAxLjEyNS0uMzAyYy4yMDctLjA1Ni4zODctLjA3Mi41NDItLjA0OGEuNzExLjcxMSAwIDAxLjM4LjE3MmMuMDk4LjA4OS4xNjcuMjA0LjIwNC4zNDVhLjU4OC41ODggMCAwMS0uMTE0LjU1OS43Ny43NyAwIDAxLS4yMy4xOGwuMDA3LjAyOGEuNjY0LjY2NCAwIDAxLjYxNy4xODMuNzE2LjcxNiAwIDAxLjE4My4zMzMuNzU2Ljc1NiAwIDAxLS4wMDMuNDI5Ljc3NS43NzUgMCAwMS0uMjUxLjM2MyAxLjI4NCAxLjI4NCAwIDAxLS41MDQuMjQ0bC0xLjIuMzIzem0uNDYyLS42NDVsLjQ4NS0uMTNjLjE2NS0uMDQ1LjI3Ny0uMTA5LjMzNi0uMTkyYS4zMjguMzI4IDAgMDAuMDQ1LS4yODYuMzkuMzkgMCAwMC0uMTExLS4xOS4zOTYuMzk2IDAgMDAtLjE5OC0uMDk4LjU3LjU3IDAgMDAtLjI2LjAxNmwtLjQ5Ny4xMzQuMi43NDZ6bS0uMzA5LTEuMTQ4bC40NC0uMTE5YS41NDMuNTQzIDAgMDAuMjA2LS4xLjM3NC4zNzQgMCAwMC4xMTgtLjE2NC4zMzMuMzMzIDAgMDAuMDA1LS4yMDYuMzIuMzIgMCAwMC0uMTc1LS4yMTcuNDY1LjQ2NSAwIDAwLS4zMy0uMDFsLS40NS4xMi4xODYuNjk2em0yLjQgMS4xMDZsLS43NTYtMi44MDkgMS44OTMtLjUxLjEzMi40OS0xLjMuMzUuMTguNjcgMS4yMDItLjMyNC4xMzIuNDktMS4yMDEuMzIzLjE4LjY3IDEuMzA0LS4zNS4xMzIuNDktMS44OTguNTF6bTEuNjM0LTIuOTI3bC0uMTMyLS40OSAyLjMwNy0uNjIuMTMyLjQ5LS44Ni4yMy42MjQgMi4zMi0uNTg3LjE1OC0uNjI0LTIuMzItLjg2LjIzMnptMy40NTIgMS41NTlsLS42MzYuMTcxLjIxMy0zLjA3Ljc2Ni0uMjA2IDEuNzI0IDIuNTQ5LS42MzYuMTctLjM4LS41ODQtMS4wMTUuMjczLS4wMzYuNjk3em0uMTQ0LTIuMzYzbC42My45Ny0uNzEyLjE5Mi4wNi0xLjE1Ni4wMjItLjAwNnptLTUuNTktNi40NzZjLjUzMi0uMTQzLjg1NC0uNjcuNzE4LTEuMTc3LS4xMzYtLjUwNi0uNjgtLjgtMS4yMTMtLjY1Ny0uNTMzLjE0My0uODU1LjY3LS43MTggMS4xNzcuMTM2LjUwNy42NzkuOCAxLjIxMi42NTd6IiBmaWxsPSIjRUU0QjRCIi8+PC9zdmc+") no-repeat;background-size:100%}.is-dark body{color:#ededed;background:#1c1c1c}.is-dark .homepage section:first-child{background-image:url(/assets/home-bg-dark.jpg);background-color:transparent}.is-dark .navbar{background:#292929}.is-dark .navbar .links .dropdown-title{color:#ededed}.is-dark .navbar .links .nav-dropdown{background:#363636}.is-dark .navbar .links .nav-dropdown .dropdown-item h4{border-color:#434343}.is-dark .navbar .links .nav-link,.is-dark .navbar .site-name{color:#ededed}.is-dark .navbar .search-box input{background-color:hsla(0,0%,100%,.08);color:#eaeaea}.is-dark .sidebar{background:#212121;border-color:transparent}.is-dark .sidebar-link,.is-dark .sidebar .mobile-dropdown-title{color:#ededed}.is-dark .custom-block.tip{background:hsla(0,0%,100%,.08)}.is-dark .custom-block.warning{color:gold}.is-dark .custom-block.warning .custom-block-title{color:#ff0}.is-dark table td,.is-dark table th{border-color:#363636}.is-dark table tr:nth-child(2n){background:hsla(0,0%,100%,.08)}.is-dark h2{border-color:#434343}.is-dark code{color:#ededed;background-color:hsla(0,0%,100%,.08)}.is-dark .page-nav .inner{border-color:#434343}.is-dark .page-edit .last-updated .prefix{color:#ededed}.is-dark .page-edit .last-updated .time{color:#bebebe}.is-dark .content__default>footer{border-color:#434343;color:#eaeaea}.changelog h2{border:none;font-size:2rem;font-weight:700}.changelog .content__default ul:not(.social-share-list){margin-left:1rem}.changelog .sidebar .sidebar-sub-headers{padding-left:2.5rem;position:relative}.changelog .sidebar .sidebar-sub-headers:before{content:"";position:absolute;width:2px;height:100%;background:$$borderColor}.is-dark .changelog .sidebar .sidebar-sub-headers:before{background:#444}.changelog .sidebar .sidebar-sub-headers li a{padding-left:1rem}.tooltip{display:block!important;z-index:10000}.tooltip .tooltip-inner{background:#000;color:#fff;border-radius:6px;padding:5px 10px 4px}.tooltip .tooltip-arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:#000;z-index:1}.tooltip[x-placement^=top]{margin-bottom:5px}.tooltip[x-placement^=top] .tooltip-arrow{border-width:5px 5px 0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=bottom]{margin-top:5px}.tooltip[x-placement^=bottom] .tooltip-arrow{border-width:0 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=right]{margin-left:5px}.tooltip[x-placement^=right] .tooltip-arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip[x-placement^=left]{margin-right:5px}.tooltip[x-placement^=left] .tooltip-arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover{$color:#f9f9f9}.tooltip.popover .popover-inner{background:$color;color:#000;padding:24px;border-radius:5px;box-shadow:0 5px 30px rgba(0,0,0,.1)}.tooltip.popover .popover-arrow{border-color:$color}.tooltip[aria-hidden=true]{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}#nprogress{pointer-events:none}#nprogress .bar{background:#1bb89b;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #1bb89b,0 0 5px #1bb89b;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#1bb89b transparent transparent #1bb89b;border-style:solid;border-width:2px;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}html{scroll-behavior:smooth}.social-share{position:relative;box-sizing:border-box}.social-share-list{list-style:none;padding:0;margin:0;line-height:1}.social-share-network{position:relative;display:inline-block;vertical-align:middle}.social-share-trigger{color:#6a8bad}.social-share-btn{position:relative;width:56px;height:56px;padding:0;border-radius:50%;font-size:32px;font-family:inherit;text-align:center;background:none;border:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:all .3s ease-out}.social-share-btn:not(.social-share-trigger){color:#545e66}.social-share-btn:not(.social-share-trigger):hover{background-color:hsla(0,0%,73.7%,.15)}.social-share-icon-svg svg{width:1em!important;height:1em!important;fill:currentColor!important;vertical-align:-.15em!important;overflow:hidden!important}.social-share-icon-img{position:absolute;top:50%;left:50%;display:block;width:1em;height:1em;margin:-.5em 0 0 -.5em;background-repeat:no-repeat;background-position:50%;background-size:contain}.social-share-global{position:fixed;right:0;bottom:50%;z-index:99999;background-color:#fff;border:1px solid #efefef;border-right:none;border-radius:8px 0 0 8px;transform:translateY(50%);transition:all .3s ease-out;box-shadow:-2px 1px 6px rgba(0,0,0,.08)}.social-share-global .social-share-network{display:block}.social-share-global .social-share-btn{width:60px;height:60px;border-radius:5px;font-size:36px}.social-share-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,.5);transition:all .3s ease-out;opacity:0}.social-share-overlay.show{opacity:1}.social-share-qrcode{display:block;border-radius:4px;overflow:hidden;box-shadow:0 0 4px rgba(0,0,0,.08)}@media screen and (max-width:719px){.social-share-btn{width:40px;height:40px;font-size:28px}.social-share-global{bottom:15%;border-radius:5px 0 0 5px;transform:translate(0);box-shadow:-1px 1px 3px rgba(0,0,0,.03)}.social-share-global .social-share-btn{width:40px;height:40px;font-size:28px;border-radius:3px}}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#1bb89b;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #18a68b}.home .hero .action-button:hover{background-color:#1fd2b1}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169}.home .feature p{color:#4e6e8e}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#4e6e8e}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#1bb89b}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#1bb89b}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#1bb89b}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#1bb89b}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #1bb89b;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#1bb89b}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #1ecdad}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#1bb89b;border-left-color:#1bb89b}.sidebar-heading.clickable:hover{color:#1bb89b}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#1bb89b}a.sidebar-link.active{font-weight:600;color:#1bb89b;border-left-color:#1bb89b}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}.content__default[data-v-56d60325]{max-width:1200px}[data-v-56d60325] .page-edit{display:none}.ad-wrapper{max-width:740px;margin:0 auto}[data-v-93cd5b66] .page-edit{display:none}.content__default[data-v-3edf7ac0]{max-width:900px}[data-v-3edf7ac0] .page-edit{display:none}ins[data-v-3edf7ac0]{margin:2rem 0}.feature-links[data-v-3edf7ac0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:2.5rem 1.5rem;list-style:none;padding:0;margin:0}.feature-links li[data-v-3edf7ac0]{flex:1 1 200px}.feature-links li a[data-v-3edf7ac0]{color:currentColor;display:block;text-align:center;transition:color .3s}.feature-links li a .image[data-v-3edf7ac0]{color:#eee;height:200px;overflow:hidden;border-radius:6px;box-shadow:0 .2rem .6rem rgba(0,0,0,.1);position:relative}.is-dark .feature-links li a .image[data-v-3edf7ac0]{color:#292929}.feature-links li a .image .iconify[data-v-3edf7ac0]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0}.feature-links li a .image img[data-v-3edf7ac0]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top left;object-position:top left;transition:transform .3s ease-out;position:relative;z-index:1}.feature-links li a span[data-v-3edf7ac0]{display:block;margin-top:5px;font-size:1.2em;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;text-transform:capitalize}.feature-links li a[data-v-3edf7ac0]:hover{color:#1bb89b;text-decoration:none}.feature-links li a:hover img[data-v-3edf7ac0]{transform:scale(1.06)}.content__default[data-v-41cc6025]{margin-bottom:-2.5rem}.ad-wrapper[data-v-41cc6025]{max-width:740px;margin:0 auto}.a-button[data-v-4ef368cc]{background:#545e66;border:0;border-radius:.2rem;box-shadow:0 4px #2c3e50;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;padding:.6rem 1.8rem;transition:transform .2s,box-shadow .2s}.a-button[data-v-4ef368cc]:active{transform:translateY(4px);box-shadow:none}.a-button[data-v-4ef368cc]:hover{text-decoration:none!important}button[data-v-00e9533b]{width:24px;height:24px;padding:12px;box-sizing:unset;background:#eee;border:none;border-radius:50%;color:#2c3e50;cursor:pointer;transition:all .2s}button[data-v-00e9533b]:hover{transform:scale(1.15)}button.active[data-v-00e9533b]{transform:scale(1.15);background:#1bb89b;color:#fff}.is-dark button[data-v-00e9533b]:not(.active){background:#292929;color:#aaa}a[data-v-7233fed5]{display:flex;align-items:center;color:#2c3e50;transition:color .3s;margin-right:.5rem}.is-dark a[data-v-7233fed5]{color:#eaeaea}a[data-v-7233fed5]:hover{color:#1bb89b;text-decoration:none!important}a img[data-v-7233fed5]{width:2rem;height:2rem;margin-right:.25rem}.first-created[data-v-08d268a8]{display:flex;align-items:center;gap:4px}.adsbygoogle[data-ad-status=filled][data-v-653796b7]{margin:3rem 0;text-align:center}iconify-icon[data-v-d01ba734]{display:block}span[data-v-1f6ea1c9]{display:inline-flex;align-items:center;vertical-align:middle;margin-left:.25rem}.banner[data-v-2685687c]{margin:2rem auto}.page-edit[data-v-d53989e8]{padding:0}p[data-v-d53989e8]{text-align:right}b[data-v-d53989e8]{font-weight:500}.Vue-Toastification__container{z-index:9999;position:fixed;padding:4px;width:600px;box-sizing:border-box;display:flex;min-height:100%;color:#fff;flex-direction:column;pointer-events:none}@media only screen and (min-width:600px){.Vue-Toastification__container.top-center,.Vue-Toastification__container.top-left,.Vue-Toastification__container.top-right{top:1em}.Vue-Toastification__container.bottom-center,.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.bottom-right{bottom:1em;flex-direction:column-reverse}.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.top-left{left:1em}.Vue-Toastification__container.bottom-left .Vue-Toastification__toast,.Vue-Toastification__container.top-left .Vue-Toastification__toast{margin-right:auto}@supports not (-moz-appearance:none){.Vue-Toastification__container.bottom-left .Vue-Toastification__toast--rtl,.Vue-Toastification__container.top-left .Vue-Toastification__toast--rtl{margin-right:unset;margin-left:auto}}.Vue-Toastification__container.bottom-right,.Vue-Toastification__container.top-right{right:1em}.Vue-Toastification__container.bottom-right .Vue-Toastification__toast,.Vue-Toastification__container.top-right .Vue-Toastification__toast{margin-left:auto}@supports not (-moz-appearance:none){.Vue-Toastification__container.bottom-right .Vue-Toastification__toast--rtl,.Vue-Toastification__container.top-right .Vue-Toastification__toast--rtl{margin-left:unset;margin-right:auto}}.Vue-Toastification__container.bottom-center,.Vue-Toastification__container.top-center{left:50%;margin-left:-300px}.Vue-Toastification__container.bottom-center .Vue-Toastification__toast,.Vue-Toastification__container.top-center .Vue-Toastification__toast{margin-left:auto;margin-right:auto}}@media only screen and (max-width:600px){.Vue-Toastification__container{width:100vw;padding:0;left:0;margin:0}.Vue-Toastification__container .Vue-Toastification__toast{width:100%}.Vue-Toastification__container.top-center,.Vue-Toastification__container.top-left,.Vue-Toastification__container.top-right{top:0}.Vue-Toastification__container.bottom-center,.Vue-Toastification__container.bottom-left,.Vue-Toastification__container.bottom-right{bottom:0;flex-direction:column-reverse}}.Vue-Toastification__toast{display:inline-flex;position:relative;max-height:800px;min-height:64px;box-sizing:border-box;margin-bottom:1rem;padding:22px 24px;border-radius:8px;box-shadow:0 1px 10px 0 rgba(0,0,0,.1),0 2px 15px 0 rgba(0,0,0,.05);justify-content:space-between;font-family:Lato,Helvetica,Roboto,Arial,sans-serif;max-width:600px;min-width:326px;pointer-events:auto;overflow:hidden;transform:translateZ(0);direction:ltr}.Vue-Toastification__toast--rtl{direction:rtl}.Vue-Toastification__toast--default{background-color:#1976d2;color:#fff}.Vue-Toastification__toast--info{background-color:#2196f3;color:#fff}.Vue-Toastification__toast--success{background-color:#4caf50;color:#fff}.Vue-Toastification__toast--error{background-color:#ff5252;color:#fff}.Vue-Toastification__toast--warning{background-color:#ffc107;color:#fff}@media only screen and (max-width:600px){.Vue-Toastification__toast{border-radius:0;margin-bottom:.5rem}}.Vue-Toastification__toast-body{flex:1;line-height:24px;font-size:16px;word-break:break-word;white-space:pre-wrap}.Vue-Toastification__toast-component-body{flex:1}.Vue-Toastification__toast.disable-transition{transition:none!important;animation:none!important}.Vue-Toastification__close-button{font-weight:700;font-size:24px;line-height:24px;background:transparent;outline:none;border:none;padding:0 0 0 10px;cursor:pointer;transition:.3s ease;align-items:center;color:#fff;opacity:.3;transition:visibility 0s,opacity .2s linear}.Vue-Toastification__close-button:focus,.Vue-Toastification__close-button:hover{opacity:1}.Vue-Toastification__toast:not(:hover) .Vue-Toastification__close-button.show-on-hover{opacity:0}.Vue-Toastification__toast--rtl .Vue-Toastification__close-button{padding-left:unset;padding-right:10px}@keyframes scale-x-frames{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Vue-Toastification__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:10000;background-color:hsla(0,0%,100%,.7);transform-origin:left;animation:scale-x-frames linear 1 forwards}.Vue-Toastification__toast--rtl .Vue-Toastification__progress-bar{right:0;left:unset;transform-origin:right}.Vue-Toastification__icon{margin:auto 18px auto 0;background:transparent;outline:none;border:none;padding:0;transition:.3s ease;align-items:center;width:20px;height:100%}.Vue-Toastification__toast--rtl .Vue-Toastification__icon{margin:auto 0 auto 18px}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes bounceOutRight{40%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(1000px,0,0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Vue-Toastification__bounce-enter-active.bottom-left,.Vue-Toastification__bounce-enter-active.top-left{animation-name:bounceInLeft}.Vue-Toastification__bounce-enter-active.bottom-right,.Vue-Toastification__bounce-enter-active.top-right{animation-name:bounceInRight}.Vue-Toastification__bounce-enter-active.top-center{animation-name:bounceInDown}.Vue-Toastification__bounce-enter-active.bottom-center{animation-name:bounceInUp}.Vue-Toastification__bounce-leave-active.bottom-left,.Vue-Toastification__bounce-leave-active.top-left{animation-name:bounceOutLeft}.Vue-Toastification__bounce-leave-active.bottom-right,.Vue-Toastification__bounce-leave-active.top-right{animation-name:bounceOutRight}.Vue-Toastification__bounce-leave-active.top-center{animation-name:bounceOutUp}.Vue-Toastification__bounce-leave-active.bottom-center{animation-name:bounceOutDown}.Vue-Toastification__bounce-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}@keyframes fadeOutTop{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}@keyframes fadeOutLeft{0%{transform:translateX(0);opacity:1}to{transform:translateX(-50px);opacity:0}}@keyframes fadeOutBottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(50px);opacity:0}}@keyframes fadeOutRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(50px);opacity:0}}@keyframes fadeInLeft{0%{transform:translateX(-50px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeInRight{0%{transform:translateX(50px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeInTop{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInBottom{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.Vue-Toastification__fade-enter-active.bottom-left,.Vue-Toastification__fade-enter-active.top-left{animation-name:fadeInLeft}.Vue-Toastification__fade-enter-active.bottom-right,.Vue-Toastification__fade-enter-active.top-right{animation-name:fadeInRight}.Vue-Toastification__fade-enter-active.top-center{animation-name:fadeInTop}.Vue-Toastification__fade-enter-active.bottom-center{animation-name:fadeInBottom}.Vue-Toastification__fade-leave-active.bottom-left,.Vue-Toastification__fade-leave-active.top-left{animation-name:fadeOutLeft}.Vue-Toastification__fade-leave-active.bottom-right,.Vue-Toastification__fade-leave-active.top-right{animation-name:fadeOutRight}.Vue-Toastification__fade-leave-active.top-center{animation-name:fadeOutTop}.Vue-Toastification__fade-leave-active.bottom-center{animation-name:fadeOutBottom}.Vue-Toastification__fade-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}@keyframes slideInBlurredLeft{0%{transform:translateX(-1000px) scaleX(2.5) scaleY(.2);transform-origin:100% 50%;filter:blur(40px);opacity:0}to{transform:translateX(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredTop{0%{transform:translateY(-1000px) scaleY(2.5) scaleX(.2);transform-origin:50% 0;filter:blur(240px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredRight{0%{transform:translateX(1000px) scaleX(2.5) scaleY(.2);transform-origin:0 50%;filter:blur(40px);opacity:0}to{transform:translateX(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideInBlurredBottom{0%{transform:translateY(1000px) scaleY(2.5) scaleX(.2);transform-origin:50% 100%;filter:blur(240px);opacity:0}to{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}}@keyframes slideOutBlurredTop{0%{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 0;filter:blur(0);opacity:1}to{transform:translateY(-1000px) scaleY(2) scaleX(.2);transform-origin:50% 0;filter:blur(240px);opacity:0}}@keyframes slideOutBlurredBottom{0%{transform:translateY(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translateY(1000px) scaleY(2) scaleX(.2);transform-origin:50% 100%;filter:blur(240px);opacity:0}}@keyframes slideOutBlurredLeft{0%{transform:translateX(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translateX(-1000px) scaleX(2) scaleY(.2);transform-origin:100% 50%;filter:blur(40px);opacity:0}}@keyframes slideOutBlurredRight{0%{transform:translateX(0) scaleY(1) scaleX(1);transform-origin:50% 50%;filter:blur(0);opacity:1}to{transform:translateX(1000px) scaleX(2) scaleY(.2);transform-origin:0 50%;filter:blur(40px);opacity:0}}.Vue-Toastification__slideBlurred-enter-active.bottom-left,.Vue-Toastification__slideBlurred-enter-active.top-left{animation-name:slideInBlurredLeft}.Vue-Toastification__slideBlurred-enter-active.bottom-right,.Vue-Toastification__slideBlurred-enter-active.top-right{animation-name:slideInBlurredRight}.Vue-Toastification__slideBlurred-enter-active.top-center{animation-name:slideInBlurredTop}.Vue-Toastification__slideBlurred-enter-active.bottom-center{animation-name:slideInBlurredBottom}.Vue-Toastification__slideBlurred-leave-active.bottom-left,.Vue-Toastification__slideBlurred-leave-active.top-left{animation-name:slideOutBlurredLeft}.Vue-Toastification__slideBlurred-leave-active.bottom-right,.Vue-Toastification__slideBlurred-leave-active.top-right{animation-name:slideOutBlurredRight}.Vue-Toastification__slideBlurred-leave-active.top-center{animation-name:slideOutBlurredTop}.Vue-Toastification__slideBlurred-leave-active.bottom-center{animation-name:slideOutBlurredBottom}.Vue-Toastification__slideBlurred-move{transition-timing-function:ease-in-out;transition-property:all;transition-duration:.4s}.Vue-Toastification__toast--default{background:#292929;box-shadow:none;color:#eaeaea}.Vue-Toastification__close-button{color:#eaeaea}.Vue-Toastification__icon{display:none}.site-settings[data-v-39672356]{position:fixed;right:0;bottom:0;width:64px;height:64px}.toggle[data-v-39672356]{width:100%;height:100%;padding:20% 54% 54% 20%;background:none;border:none;border-radius:50%;cursor:pointer;background:#1bb89b;transition:transform .2s;color:#fff}.site-settings:hover .toggle[data-v-39672356],.toggle.active[data-v-39672356]{transform:scale(1.2)}.toggle[data-v-39672356] iconify-icon{margin-top:-16px;margin-left:8px}ul[data-v-39672356]{position:absolute;width:100%;height:100%;top:0;left:0;margin:0;padding:0;list-style:none;display:flex;z-index:-1;transform:scale(0)}ul li[data-v-39672356]{position:absolute}ul li[data-v-39672356]:first-child{transform:translateX(-150%)}ul li[data-v-39672356]:nth-child(2){transform:translate(-100%,-100%)}ul li[data-v-39672356]:last-child{transform:translateY(-150%)}.access[data-v-54c781ee]{margin:2rem 0;text-align:center}.access a[data-v-54c781ee]{display:inline-block;margin:.6rem;transition:transform .2s}.access a[data-v-54c781ee]:hover{transform:scale(1.05)}.blog-links[data-v-bb2a7418]{display:grid;gap:3rem 2rem;list-style:none;padding:0}.blog-links>li[data-v-bb2a7418]{border-radius:1rem;box-shadow:0 .2rem 1rem rgba(0,0,0,.1);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.is-dark .blog-links>li[data-v-bb2a7418]{background:#1f1f1f}.blog-links a[data-v-bb2a7418]{display:flex;flex-direction:column;color:currentColor;font-weight:unset}.blog-links a[data-v-bb2a7418]>:not(.blog-image){padding:0 1.5rem}.blog-links a .blog-image[data-v-bb2a7418]{height:250px;overflow:hidden}.blog-links a .blog-image img[data-v-bb2a7418]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease-out}.blog-links a .first-created[data-v-bb2a7418]{font-size:.9rem}.blog-links a h2[data-v-bb2a7418]{border-bottom:none;transition:color .3s}.blog-links a[data-v-bb2a7418]:hover{text-decoration:none}.blog-links a:hover img[data-v-bb2a7418]{transform:scale(1.06)}.blog-links a:hover h2[data-v-bb2a7418]{color:#1bb89b}@media (min-width:720px){.blog-links[data-v-bb2a7418]{grid-template-columns:1fr 1fr}}@media (min-width:960px){.blog-links[data-v-bb2a7418]{grid-template-columns:1fr 1fr 1fr}}.blog-meta[data-v-37d0b7b8]{display:flex;flex-wrap:wrap;justify-content:space-between}div[data-v-7e0173ee]{display:flex;align-items:center}div svg[data-v-7e0173ee]{width:1rem;height:1rem}ul[data-v-7e0173ee]{list-style:none;display:flex;gap:.5rem;padding:1rem 1.5rem 1.5rem;font-size:.85rem}ul a[data-v-7e0173ee]{background:#eee;border-radius:.4rem;color:currentColor;font-weight:400;padding:.3rem .4rem}ul a[data-v-7e0173ee]:hover{text-decoration:underline}.is-dark ul a[data-v-7e0173ee]{background:#292929}nav[data-v-7c5b105f]{display:flex;flex-wrap:wrap;justify-content:center;margin:2rem 0}nav a[data-v-7c5b105f]{background:#eee;border-radius:1rem;color:currentColor;margin:.3rem;padding:.6rem;min-width:4rem;text-align:center}nav a.router-link-exact-active[data-v-7c5b105f]{color:#fff;background:#1bb89b}nav a[data-v-7c5b105f]:hover{text-decoration:none!important}.is-dark nav a[data-v-7c5b105f]:not(.router-link-exact-active){background:#292929}@media (min-width:420px){nav a[data-v-7c5b105f]{margin:.5rem;padding:1rem}}section[data-v-a37ba0d0]{margin:0 auto;max-width:740px;padding:2rem 2.5rem}div[data-v-43263439]{margin:.5rem 0}input[data-v-43263439],textarea[data-v-43263439]{outline:none;padding:.5rem 1rem;width:100%;font-size:100%;font-family:inherit;box-sizing:border-box;border-radius:6px;border:1px solid #aaa}input[data-v-43263439]:focus,textarea[data-v-43263439]:focus{border-color:#1bb89b}input.error[data-v-43263439],textarea.error[data-v-43263439]{border-color:red}textarea[data-v-43263439]{height:200px;resize:vertical}ul[data-v-59795e29]{list-style:none;margin:0;padding:0}li[data-v-59795e29]{border:1px solid;border-radius:4px;box-sizing:border-box;text-align:center;margin:12px 4px;padding:0 16px;width:100%}h2[data-v-59795e29]{border:0;margin-bottom:0;padding:0}@media (min-width:720px){ul[data-v-59795e29]{display:flex}}.link-buttons[data-v-fe445868]{margin:0 auto 1.8rem;padding:0;list-style:none;display:flex;justify-content:center}.link-buttons a[data-v-fe445868]{display:block;min-width:64px;padding:12px;margin:0 4px;border-radius:8px;box-sizing:border-box;transition-property:transform,box-shadow;transition-duration:.2s;background:#eee;box-shadow:0 3px #d0d0d0;border-bottom:2px solid #d0d0d0}.link-buttons a[data-v-fe445868]:hover{transform:translateY(3px);box-shadow:none!important}.link-buttons a img[data-v-fe445868]{display:block;margin:auto;width:auto}.link-buttons a[data-social=twitter][data-v-fe445868]{background:#1da1f2;box-shadow:0 3px #2f81be;border-bottom:2px solid #2f81be}.link-buttons a[data-social=twitter][data-v-fe445868]:hover{transform:translateY(3px);box-shadow:none!important}.link-buttons a[data-social=github][data-v-fe445868]{background:#333;box-shadow:0 3px #000;border-bottom:2px solid #000}.link-buttons a[data-social=github][data-v-fe445868]:hover{transform:translateY(3px);box-shadow:none!important}.link-buttons a[data-social=youtube][data-v-fe445868]{background:red;box-shadow:0 3px #900;border-bottom:2px solid #900}.link-buttons a[data-social=youtube][data-v-fe445868]:hover{transform:translateY(3px);box-shadow:none!important}footer[data-v-fe445868]{border-top:1px solid #eaecef;color:#2c3e50;padding:2.5rem;text-align:center}.is-dark footer[data-v-fe445868]{border-color:#444;color:#eaeaea}.home .footer{padding:0}.social[data-v-4bc0a2be]{display:flex;align-items:center;justify-content:flex-end}.is-dark .social[data-v-4bc0a2be] .social-share .social-share-btn{color:#8c8c8c}.social[data-v-4bc0a2be] .social-share .social-share-btn:hover{color:#1bb89b}.social[data-v-4bc0a2be] .social-share .social-share-btn{width:2.5rem;height:2.5rem;font-size:1.5rem}.social[data-v-4bc0a2be] .social-share .social-share-btn>span,section[data-v-568d8f4c]{display:flex;align-items:center;justify-content:center}section[data-v-568d8f4c]{background-image:url(/assets/home-bg.jpg);background-color:#1596f2;background-size:cover;background-attachment:fixed;transition:background .3s;height:100vh;max-height:900px;min-height:500px;box-sizing:border-box;flex-direction:column;position:relative}h1[data-v-568d8f4c]{font-weight:400}button[data-v-568d8f4c]{background:none;border:0;display:block;cursor:pointer;position:relative}button span[data-v-568d8f4c]{display:block;color:#fff;font-size:1.5rem;text-align:center;text-shadow:0 1px 2px #000}button span[data-v-568d8f4c]:first-child{width:150px;height:150px}button span:first-child img[data-v-568d8f4c]{width:100%;height:100%}h1[data-v-568d8f4c]{padding:1rem 2rem;margin:0;color:#fff;text-align:center;text-shadow:0 1px 2px #000;max-width:600px;font-size:3.5rem}.indicator[data-v-568d8f4c]{border:2px solid #fff;border-radius:24px;width:24px;height:36px;position:absolute;bottom:12px}.indicator[data-v-568d8f4c]:before{content:"";position:absolute;width:4px;height:6px;background:#fff;border-radius:2px;top:10%;left:calc(50% - 2px);animation:scroll-down-568d8f4c 1.5s infinite}@media (max-width:640px){h1[data-v-568d8f4c]{font-size:2rem}}@keyframes scroll-down-568d8f4c{0%{opacity:.2;transform:translateY(0)}to{opacity:1;transform:translateY(8px)}}div[data-v-e7a7a3f0]{width:180px;height:200px;flex-shrink:0;overflow:hidden;border-radius:50%}div>iframe[data-v-e7a7a3f0]{border:0;width:180px;height:300px}div[data-v-e7a7a3f0],img[data-v-e7a7a3f0]{margin-right:2rem}.right div[data-v-e7a7a3f0],.right img[data-v-e7a7a3f0]{margin-right:0;margin-left:2rem}@media (max-width:640px){div[data-v-e7a7a3f0],img[data-v-e7a7a3f0]{margin:0!important}}ul[data-v-65ae56a6]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}li[data-v-65ae56a6]{background:rgba(0,0,0,.05);border-radius:1rem;padding:3rem;position:relative}li[data-v-65ae56a6]:before{content:"\201C";display:block;font-family:serif;font-size:16rem;opacity:.1;position:absolute;top:-6rem;left:.5rem}li .content[data-v-65ae56a6]{font-style:italic;margin-bottom:2rem}li figure[data-v-65ae56a6]{margin:0;display:flex;align-items:center}li figure img[data-v-65ae56a6]{border-radius:50%}li figcaption[data-v-65ae56a6]{margin-left:2rem}li figcaption .author[data-v-65ae56a6]{font-size:1.2rem;font-weight:700}.is-dark li[data-v-65ae56a6]{background:#292929}@media (max-width:959px){ul[data-v-65ae56a6]{grid-template-columns:none}}@media (max-width:419px){li[data-v-65ae56a6]{padding:2rem}}section[data-v-06508d2a]{padding:8rem 4rem}section>div[data-v-06508d2a]{align-items:center;display:flex;justify-content:center;margin:auto;max-width:1024px}section article>h2[data-v-06508d2a]{border:0;margin-top:0;font-size:2.5rem}section article>p[data-v-06508d2a]{text-align:justify;max-width:640px}section article>footer[data-v-06508d2a]{text-align:right}section article>footer>a[data-v-06508d2a]{display:inline-block;font-size:1rem;padding:.4rem 1.5rem}section article>footer>a[data-v-06508d2a]:not(:first-child){margin-left:8%}section.right>div>[data-v-06508d2a]:first-child{order:1}section.right article>footer[data-v-06508d2a]{text-align:left}section.right article>footer>a[data-v-06508d2a]:not(:first-child){margin-right:8%}section.center footer[data-v-06508d2a],section.center h2[data-v-06508d2a]{text-align:center}section.is-dark[data-v-06508d2a]{background:rgba(0,0,0,.05)}@media (max-width:640px){section[data-v-06508d2a]{padding:4rem 2rem}section>div[data-v-06508d2a]{flex-direction:column}section>div article>footer[data-v-06508d2a],section>div article>h2[data-v-06508d2a]{text-align:center}section.right>div [data-v-06508d2a]:first-child{order:unset}section.right article>footer[data-v-06508d2a],section.right article>h2[data-v-06508d2a]{text-align:center}}ul[data-v-145d0661]{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:0 0 1rem;padding:0}li[data-v-145d0661]{background:#fff;border-radius:.75rem;box-shadow:0 .2rem 1rem rgba(0,0,0,.1);overflow:hidden}li:hover img[data-v-145d0661]{transform:scale(1.4)}.is-dark li[data-v-145d0661]{background:#292929}span[data-v-145d0661]{display:block;overflow:hidden}span[data-v-145d0661]:last-child{color:#2c3e50;padding:.5rem 1rem;text-align:center}.is-dark span[data-v-145d0661]:last-child{color:#eaeaea}img[data-v-145d0661]{display:block;transform:scale(1.35);transition:transform .3s ease-out}@media (max-width:959px){ul[data-v-145d0661]{grid-template-columns:repeat(2,1fr)}}@media (max-width:719px){ul[data-v-145d0661]{grid-template-columns:none}}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-block[data-v-759a7d02]{display:none}.theme-code-block__active[data-v-759a7d02]{display:block}.theme-code-block>pre[data-v-759a7d02]{background-color:orange}.theme-code-group__nav[data-v-deefee04]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-deefee04]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-deefee04]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-deefee04]{border-bottom:1px solid #42b983}.pre-blank[data-v-deefee04]{color:#42b983} \ No newline at end of file diff --git a/assets/js/104.d8adaefe.js b/assets/js/100.d9593040.js similarity index 77% rename from assets/js/104.d8adaefe.js rename to assets/js/100.d9593040.js index 465dae3d..6b2ce64b 100644 --- a/assets/js/104.d8adaefe.js +++ b/assets/js/100.d9593040.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[104],{579:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[100],{577:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/100.e32dcd2e.js b/assets/js/101.57548a07.js similarity index 77% rename from assets/js/100.e32dcd2e.js rename to assets/js/101.57548a07.js index 179f6fc6..cd43dd02 100644 --- a/assets/js/100.e32dcd2e.js +++ b/assets/js/101.57548a07.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[100],{576:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[101],{575:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/102.ae356ac7.js b/assets/js/102.ad379717.js similarity index 100% rename from assets/js/102.ae356ac7.js rename to assets/js/102.ad379717.js diff --git a/assets/js/101.4f938d8c.js b/assets/js/103.59629d53.js similarity index 77% rename from assets/js/101.4f938d8c.js rename to assets/js/103.59629d53.js index 8f8c2a8b..c82319c0 100644 --- a/assets/js/101.4f938d8c.js +++ b/assets/js/103.59629d53.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[101],{577:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[103],{579:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/103.8c9b29d3.js b/assets/js/104.636fb678.js similarity index 77% rename from assets/js/103.8c9b29d3.js rename to assets/js/104.636fb678.js index 08480275..10133d51 100644 --- a/assets/js/103.8c9b29d3.js +++ b/assets/js/104.636fb678.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[103],{580:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[104],{580:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/105.ee50a038.js b/assets/js/105.8f8a0ef6.js similarity index 100% rename from assets/js/105.ee50a038.js rename to assets/js/105.8f8a0ef6.js diff --git a/assets/js/106.8e403aa6.js b/assets/js/106.4e6a2259.js similarity index 100% rename from assets/js/106.8e403aa6.js rename to assets/js/106.4e6a2259.js diff --git a/assets/js/107.5ca1e014.js b/assets/js/107.5ca1e014.js new file mode 100644 index 00000000..76db5a63 --- /dev/null +++ b/assets/js/107.5ca1e014.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{584:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/107.abd398a4.js b/assets/js/107.abd398a4.js deleted file mode 100644 index d8db5fcf..00000000 --- a/assets/js/107.abd398a4.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{583:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/108.5a54ae85.js b/assets/js/108.5a54ae85.js new file mode 100644 index 00000000..3b2cd422 --- /dev/null +++ b/assets/js/108.5a54ae85.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{583:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/108.ffdbf6c0.js b/assets/js/108.ffdbf6c0.js deleted file mode 100644 index 0a860930..00000000 --- a/assets/js/108.ffdbf6c0.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{584:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/109.da478c56.js b/assets/js/109.8ce40a8c.js similarity index 100% rename from assets/js/109.da478c56.js rename to assets/js/109.8ce40a8c.js diff --git a/assets/js/11.48aaf70e.js b/assets/js/11.fb8a7bb4.js similarity index 94% rename from assets/js/11.48aaf70e.js rename to assets/js/11.fb8a7bb4.js index 4f3d3ed1..41dc5028 100644 --- a/assets/js/11.48aaf70e.js +++ b/assets/js/11.fb8a7bb4.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{399:function(e,t,a){e.exports=a.p+"assets/img/ad-networks.647b5d83.png"},400:function(e,t,a){e.exports=a.p+"assets/img/ad-formats-admob.4883adfe.png"},401:function(e,t,a){e.exports=a.p+"assets/img/ad-formats-adsense.457df8d7.png"},402:function(e,t,a){e.exports=a.p+"assets/img/my-ad-formats.1b93ee12.png"},530:function(e,t,a){"use strict";a.r(t);var o=a(16),s=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"about-the-ads-and-how-i-implement-them"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-the-ads-and-how-i-implement-them"}},[e._v("#")]),e._v(" About the ads and how I implement them")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80",alt:"Ad promo"}})]),e._v(" "),t("p",[t("em",[e._v("Cover image by Fredrick Suwandi via "),t("a",{attrs:{href:"https://unsplash.com/photos/csXTAyTiESo",target:"_blank",rel:"noopener noreferrer"}},[e._v("Unsplash"),t("OutboundLink")],1)])]),e._v(" "),t("p",[e._v("Ads, the thing we all hate as when we are trying to enjoy something, they appear and kill the whole experience. Yes, I said \"we\" because I myself also hate it, but let's be honest and admit the fact that they generate incomes and one can hardly fight against this temptation, or even go too far as abusing it to earn as much as possible when this power is given and may be used at one's will. Admittedly, I'm that type of guy. Or if you are one of the nice people in my audience, you may consider me having some morals left for not flooding your screen with ads.")]),e._v(" "),t("p",[e._v("Sounds more like a confession than a blog so far, eh? Let's put that aside because, in this blog, I would like to share my experience with the Ads implementation in the different versions of my "),t("RouterLink",{attrs:{to:"/win7simu/about.html"}},[e._v("Win7 Simu")]),e._v(".")],1),e._v(" "),t("h2",{attrs:{id:"choosing-the-ad-network"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#choosing-the-ad-network"}},[e._v("#")]),e._v(" Choosing the Ad Network")]),e._v(" "),t("p",[t("img",{attrs:{src:a(399),alt:"Ad Networks - AdMob, AppLovin, Adsense"}})]),e._v(" "),t("p",[e._v("Probably the least thing that bothered me when I came up with the idea to implement ads in my simulator. Despite a vast range of ad networks available, I just went straight for "),t("a",{attrs:{href:"https://admob.google.com/home/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AdMob"),t("OutboundLink")],1),e._v(" due to its dominating presence all around the world. Indeed it's dominating for various reasons. From the registration to implementation, it was incredibly easy that I hardly found any time struggling with it. The documentation is well structured and provides all the instructions I would ever need. It even offered the mediation feature which combines the AdMob network with other third-party ad networks I registered, and picks the highest paid ad among these networks and display to the users, my revenue is then further boosted (well, not so much as you're imagining).")]),e._v(" "),t("p",[e._v("So yea, AdMob had been my partner for more than a year, until a couple of months ago... an "),t("strong",[e._v("ad serving limit")]),e._v(" was put down on my account. This would not be surprising as I had faced this issue twice before, each time only lasted for around 2 weeks to 1 month, but this time, it has been 4 months, without any notifications or simply a freaking reason. I mean, literally, every time an ad serving limit was placed and lifted, I do not have any idea what was the reason. And this time it was over my patience limit and I decided to switch to a new partner for real. After several searches and comparisons, I decided to pick "),t("a",{attrs:{href:"https://www.applovin.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AppLovin"),t("OutboundLink")],1),e._v(" due to its ease of registration and a similar implementation method to AdMob. I'll just wait and see how it performs from here on.")]),e._v(" "),t("p",[e._v("For this website, I again went straight for "),t("a",{attrs:{href:"https://www.google.com/adsense/start/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Adsense"),t("OutboundLink")],1),e._v(", which is more or less a blood-related brother of AdMob. It has the same pros and is much simpler to register compared to other available vendors on the market due to the fact that page views/number of visitors per month are not considered but only your content that matters, as registration criteria. But hopefully, it won't end up the same way as AdMob.")]),e._v(" "),t("p",[e._v("Aside from these choices of mine, there are many more if you search them up, but of course, each one requires a different method for registration and the complexity depends on your region/location, and obviously your content as well. It's also important to note the revenue yielded from each is also varied.")]),e._v(" "),t("h2",{attrs:{id:"picking-the-ad-format"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#picking-the-ad-format"}},[e._v("#")]),e._v(" Picking the Ad Format")]),e._v(" "),t("h3",{attrs:{id:"mobile-app"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#mobile-app"}},[e._v("#")]),e._v(" Mobile App")]),e._v(" "),t("p",[e._v("Each ad network offers a different set of ad formats that you can implement. But in general, the most basic ones are "),t("strong",[e._v("Banner")]),e._v(", "),t("strong",[e._v("Interstitial")]),e._v(" and "),t("strong",[e._v("Rewarded")]),e._v(". Other formats just get their behaviors altered out of these base formats. Just understanding these 3 is already sufficient to pick the ones suitable for your app.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(400),alt:"AdMob Ad Formats"}})]),e._v(" "),t("p",[e._v("To pick the ad format for your own, it's obviously also important to know which one provides more revenue, hence for your reference, it is: "),t("strong",[e._v("Rewarded > Interstitial > Banner")]),e._v(". Rewarded ads bring the most revenue out of these, as when a user opt-in to watch an ad in exchange for something in-app, it is usually a 30-second or longer video ad. While Interstitial ads are a bit less in terms of revenue, they are still much more compared to Banners, but they also come with the paid price of user experience and are much of a means for abusing or suffocating the user with ads.")]),e._v(" "),t("p",[e._v("For my "),t("strong",[e._v("Win7 Simu")]),e._v(", I picked Banner and Interstitial as these two are more suitable with my app's tech and easier to implement.")]),e._v(" "),t("h3",{attrs:{id:"website"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#website"}},[e._v("#")]),e._v(" Website")]),e._v(" "),t("p",[e._v("For this website and the web version of "),t("strong",[e._v("Win7 Simu")]),e._v(", so far I have only considered and implemented "),t("strong",[e._v("Adsense")]),e._v(", therefore I'm only aware of the below ad formats from Adsense.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(401),alt:"Adsense Ad Formats"}})]),e._v(" "),t("p",[e._v("However, out of these 4, I only needed to use "),t("strong",[e._v("Display Ad")]),e._v(", which is also the format recommended by Google. The Display ad offers a responsive size that works anywhere you might cram it to, but of course the space should not be too small, otherwise there will be no ad available for serving. It's also possible to let Adsense setup the ads for you without any manual work by enabling the "),t("strong",[e._v("Auto Ads")]),e._v(", but personally, I prefer doing things by my own for which I will have full controls.")]),e._v(" "),t("a-google-ad"),e._v(" "),t("h2",{attrs:{id:"implementing-ads"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#implementing-ads"}},[e._v("#")]),e._v(" Implementing ads")]),e._v(" "),t("p",[e._v("In this section, I'm not going into so much detail as to how to implement the ads in coding or something like how to write a framework component for placing Ads (there are already plenty of such tutorials and guides which are far more helpful than I can explain), but rather how the ads are being implemented in my products, the "),t("strong",[e._v("Win7 Simu")]),e._v(" app and "),t("strong",[e._v("this website")]),e._v(", and potentially any "),t("RouterLink",{attrs:{to:"/brick1100/about.html"}},[e._v("future product")]),e._v(" I may release.")],1),e._v(" "),t("h3",{attrs:{id:"win7-simu"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#win7-simu"}},[e._v("#")]),e._v(" Win7 Simu")]),e._v(" "),t("p",[e._v("So as mentioned above, due to the nature of my app, I picked Banner and Interstitial as my ad formats to implement.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(402),alt:"Win7 Simu's ad formats"}})]),e._v(" "),t("p",[e._v("The banner ad was placed at the top of the screen, with a refresh rate set to auto - typically a new ad is served after around 25 to 30 seconds. This one earned me a few cents everyday and I would say that's a fairly good amount to be happy about. However, considered that it occupied quite some space at the top which can prevent the user from enjoying an OS in fullscreen and poorly affect the experience, I decided to make a sacrifice by removing it from the app. Therefore, from "),t("RouterLink",{attrs:{to:"/win7simu/changelog.html#2-16-0"}},[e._v("v2.16.0")]),e._v(" onwards, the banner ads are gone and you may enjoy the app to your fullest.")],1),e._v(" "),t("p",[e._v("The interstitial ad is still kept as a motivation for me to constantly maintain and work on the project, and also bring you more cool updates. And I didn't forget to carefully consider the frequency and placement for this type of ad so that you won't be interrupted so much and get annoyed. But of course, no matter what I try, I fully understand that there are always people who prefer criticism and will never be happy with such effort. I sure hope if you are not one of these people, please understand and keep supporting me.")]),e._v(" "),t("h3",{attrs:{id:"this-website"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#this-website"}},[e._v("#")]),e._v(" This website")]),e._v(" "),t("p",[e._v("You're probably seeing a few ads already in this blog post, and you can trust me when I say this is as many as I wanted to implement, not more. I used the responsive display ads by Adsense and tried to place the ads in the least intrusive way that hopefully blend with your reading experience. One last useful hint for those who also want to implement Adsense in their Vuepress blogs just like mine, you can refer to my site's source code which I made public "),t("a",{attrs:{href:"https://github.com/Visnalize/visnalize.github.io/tree/dev",target:"_blank",rel:"noopener noreferrer"}},[e._v("on Github"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("And this would be all I wanted to share in this blog, hope you had a good time reading it and somehow got some useful pieces of info with you as well.")]),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{400:function(e,t,a){e.exports=a.p+"assets/img/ad-networks.647b5d83.png"},401:function(e,t,a){e.exports=a.p+"assets/img/ad-formats-admob.4883adfe.png"},402:function(e,t,a){e.exports=a.p+"assets/img/ad-formats-adsense.457df8d7.png"},403:function(e,t,a){e.exports=a.p+"assets/img/my-ad-formats.1b93ee12.png"},533:function(e,t,a){"use strict";a.r(t);var o=a(16),s=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"about-the-ads-and-how-i-implement-them"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#about-the-ads-and-how-i-implement-them"}},[e._v("#")]),e._v(" About the ads and how I implement them")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80",alt:"Ad promo"}})]),e._v(" "),t("p",[t("em",[e._v("Cover image by Fredrick Suwandi via "),t("a",{attrs:{href:"https://unsplash.com/photos/csXTAyTiESo",target:"_blank",rel:"noopener noreferrer"}},[e._v("Unsplash"),t("OutboundLink")],1)])]),e._v(" "),t("p",[e._v("Ads, the thing we all hate as when we are trying to enjoy something, they appear and kill the whole experience. Yes, I said \"we\" because I myself also hate it, but let's be honest and admit the fact that they generate incomes and one can hardly fight against this temptation, or even go too far as abusing it to earn as much as possible when this power is given and may be used at one's will. Admittedly, I'm that type of guy. Or if you are one of the nice people in my audience, you may consider me having some morals left for not flooding your screen with ads.")]),e._v(" "),t("p",[e._v("Sounds more like a confession than a blog so far, eh? Let's put that aside because, in this blog, I would like to share my experience with the Ads implementation in the different versions of my "),t("RouterLink",{attrs:{to:"/win7simu/about.html"}},[e._v("Win7 Simu")]),e._v(".")],1),e._v(" "),t("h2",{attrs:{id:"choosing-the-ad-network"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#choosing-the-ad-network"}},[e._v("#")]),e._v(" Choosing the Ad Network")]),e._v(" "),t("p",[t("img",{attrs:{src:a(400),alt:"Ad Networks - AdMob, AppLovin, Adsense"}})]),e._v(" "),t("p",[e._v("Probably the least thing that bothered me when I came up with the idea to implement ads in my simulator. Despite a vast range of ad networks available, I just went straight for "),t("a",{attrs:{href:"https://admob.google.com/home/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AdMob"),t("OutboundLink")],1),e._v(" due to its dominating presence all around the world. Indeed it's dominating for various reasons. From the registration to implementation, it was incredibly easy that I hardly found any time struggling with it. The documentation is well structured and provides all the instructions I would ever need. It even offered the mediation feature which combines the AdMob network with other third-party ad networks I registered, and picks the highest paid ad among these networks and display to the users, my revenue is then further boosted (well, not so much as you're imagining).")]),e._v(" "),t("p",[e._v("So yea, AdMob had been my partner for more than a year, until a couple of months ago... an "),t("strong",[e._v("ad serving limit")]),e._v(" was put down on my account. This would not be surprising as I had faced this issue twice before, each time only lasted for around 2 weeks to 1 month, but this time, it has been 4 months, without any notifications or simply a freaking reason. I mean, literally, every time an ad serving limit was placed and lifted, I do not have any idea what was the reason. And this time it was over my patience limit and I decided to switch to a new partner for real. After several searches and comparisons, I decided to pick "),t("a",{attrs:{href:"https://www.applovin.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("AppLovin"),t("OutboundLink")],1),e._v(" due to its ease of registration and a similar implementation method to AdMob. I'll just wait and see how it performs from here on.")]),e._v(" "),t("p",[e._v("For this website, I again went straight for "),t("a",{attrs:{href:"https://www.google.com/adsense/start/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Adsense"),t("OutboundLink")],1),e._v(", which is more or less a blood-related brother of AdMob. It has the same pros and is much simpler to register compared to other available vendors on the market due to the fact that page views/number of visitors per month are not considered but only your content that matters, as registration criteria. But hopefully, it won't end up the same way as AdMob.")]),e._v(" "),t("p",[e._v("Aside from these choices of mine, there are many more if you search them up, but of course, each one requires a different method for registration and the complexity depends on your region/location, and obviously your content as well. It's also important to note the revenue yielded from each is also varied.")]),e._v(" "),t("h2",{attrs:{id:"picking-the-ad-format"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#picking-the-ad-format"}},[e._v("#")]),e._v(" Picking the Ad Format")]),e._v(" "),t("h3",{attrs:{id:"mobile-app"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#mobile-app"}},[e._v("#")]),e._v(" Mobile App")]),e._v(" "),t("p",[e._v("Each ad network offers a different set of ad formats that you can implement. But in general, the most basic ones are "),t("strong",[e._v("Banner")]),e._v(", "),t("strong",[e._v("Interstitial")]),e._v(" and "),t("strong",[e._v("Rewarded")]),e._v(". Other formats just get their behaviors altered out of these base formats. Just understanding these 3 is already sufficient to pick the ones suitable for your app.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(401),alt:"AdMob Ad Formats"}})]),e._v(" "),t("p",[e._v("To pick the ad format for your own, it's obviously also important to know which one provides more revenue, hence for your reference, it is: "),t("strong",[e._v("Rewarded > Interstitial > Banner")]),e._v(". Rewarded ads bring the most revenue out of these, as when a user opt-in to watch an ad in exchange for something in-app, it is usually a 30-second or longer video ad. While Interstitial ads are a bit less in terms of revenue, they are still much more compared to Banners, but they also come with the paid price of user experience and are much of a means for abusing or suffocating the user with ads.")]),e._v(" "),t("p",[e._v("For my "),t("strong",[e._v("Win7 Simu")]),e._v(", I picked Banner and Interstitial as these two are more suitable with my app's tech and easier to implement.")]),e._v(" "),t("h3",{attrs:{id:"website"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#website"}},[e._v("#")]),e._v(" Website")]),e._v(" "),t("p",[e._v("For this website and the web version of "),t("strong",[e._v("Win7 Simu")]),e._v(", so far I have only considered and implemented "),t("strong",[e._v("Adsense")]),e._v(", therefore I'm only aware of the below ad formats from Adsense.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(402),alt:"Adsense Ad Formats"}})]),e._v(" "),t("p",[e._v("However, out of these 4, I only needed to use "),t("strong",[e._v("Display Ad")]),e._v(", which is also the format recommended by Google. The Display ad offers a responsive size that works anywhere you might cram it to, but of course the space should not be too small, otherwise there will be no ad available for serving. It's also possible to let Adsense setup the ads for you without any manual work by enabling the "),t("strong",[e._v("Auto Ads")]),e._v(", but personally, I prefer doing things by my own for which I will have full controls.")]),e._v(" "),t("a-google-ad"),e._v(" "),t("h2",{attrs:{id:"implementing-ads"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#implementing-ads"}},[e._v("#")]),e._v(" Implementing ads")]),e._v(" "),t("p",[e._v("In this section, I'm not going into so much detail as to how to implement the ads in coding or something like how to write a framework component for placing Ads (there are already plenty of such tutorials and guides which are far more helpful than I can explain), but rather how the ads are being implemented in my products, the "),t("strong",[e._v("Win7 Simu")]),e._v(" app and "),t("strong",[e._v("this website")]),e._v(", and potentially any "),t("RouterLink",{attrs:{to:"/brick1100/about.html"}},[e._v("future product")]),e._v(" I may release.")],1),e._v(" "),t("h3",{attrs:{id:"win7-simu"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#win7-simu"}},[e._v("#")]),e._v(" Win7 Simu")]),e._v(" "),t("p",[e._v("So as mentioned above, due to the nature of my app, I picked Banner and Interstitial as my ad formats to implement.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(403),alt:"Win7 Simu's ad formats"}})]),e._v(" "),t("p",[e._v("The banner ad was placed at the top of the screen, with a refresh rate set to auto - typically a new ad is served after around 25 to 30 seconds. This one earned me a few cents everyday and I would say that's a fairly good amount to be happy about. However, considered that it occupied quite some space at the top which can prevent the user from enjoying an OS in fullscreen and poorly affect the experience, I decided to make a sacrifice by removing it from the app. Therefore, from "),t("RouterLink",{attrs:{to:"/win7simu/changelog.html#2-16-0"}},[e._v("v2.16.0")]),e._v(" onwards, the banner ads are gone and you may enjoy the app to your fullest.")],1),e._v(" "),t("p",[e._v("The interstitial ad is still kept as a motivation for me to constantly maintain and work on the project, and also bring you more cool updates. And I didn't forget to carefully consider the frequency and placement for this type of ad so that you won't be interrupted so much and get annoyed. But of course, no matter what I try, I fully understand that there are always people who prefer criticism and will never be happy with such effort. I sure hope if you are not one of these people, please understand and keep supporting me.")]),e._v(" "),t("h3",{attrs:{id:"this-website"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#this-website"}},[e._v("#")]),e._v(" This website")]),e._v(" "),t("p",[e._v("You're probably seeing a few ads already in this blog post, and you can trust me when I say this is as many as I wanted to implement, not more. I used the responsive display ads by Adsense and tried to place the ads in the least intrusive way that hopefully blend with your reading experience. One last useful hint for those who also want to implement Adsense in their Vuepress blogs just like mine, you can refer to my site's source code which I made public "),t("a",{attrs:{href:"https://github.com/Visnalize/visnalize.github.io/tree/dev",target:"_blank",rel:"noopener noreferrer"}},[e._v("on Github"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("And this would be all I wanted to share in this blog, hope you had a good time reading it and somehow got some useful pieces of info with you as well.")]),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/110.7a5df71c.js b/assets/js/110.4306d37e.js similarity index 100% rename from assets/js/110.7a5df71c.js rename to assets/js/110.4306d37e.js diff --git a/assets/js/111.7fb481f6.js b/assets/js/111.7fb481f6.js new file mode 100644 index 00000000..33cb5bcf --- /dev/null +++ b/assets/js/111.7fb481f6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{587:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/111.d397f034.js b/assets/js/111.d397f034.js deleted file mode 100644 index 2580ac0a..00000000 --- a/assets/js/111.d397f034.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{588:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/112.8b008ca4.js b/assets/js/112.8b008ca4.js new file mode 100644 index 00000000..f55e179b --- /dev/null +++ b/assets/js/112.8b008ca4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[112],{590:function(t,n,s){"use strict";s.r(n);var e=s(16),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/112.586459ae.js b/assets/js/113.11226fbb.js similarity index 96% rename from assets/js/112.586459ae.js rename to assets/js/113.11226fbb.js index 2e632e39..9fca8a66 100644 --- a/assets/js/112.586459ae.js +++ b/assets/js/113.11226fbb.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[112],{587:function(e,t,a){"use strict";a.r(t);var s=a(16),r=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"theme-studio-changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#theme-studio-changelog"}},[e._v("#")]),e._v(" Theme Studio Changelog")]),e._v(" "),t("m-social-links",{attrs:{hideCommentCount:""}}),e._v(" "),t("a-google-ad"),e._v(" "),t("h2",{attrs:{id:"all-versions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#all-versions"}},[e._v("#")]),e._v(" All versions")]),e._v(" "),t("h3",{attrs:{id:"_1-2-0-jul-10-2023"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-2-0-jul-10-2023"}},[e._v("#")]),e._v(" 1.2.0 (Jul 10, 2023)")]),e._v(" "),t("ul",[t("li",[e._v("Add link to video tutorials")]),e._v(" "),t("li",[e._v("Improve theme viewing by creators")]),e._v(" "),t("li",[e._v("Creators can now edit/overwrite their published themes")])]),e._v(" "),t("h3",{attrs:{id:"_1-1-0-mar-13-2023"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-1-0-mar-13-2023"}},[e._v("#")]),e._v(" 1.1.0 (Mar 13, 2023)")]),e._v(" "),t("ul",[t("li",[e._v("Search public themes by author")]),e._v(" "),t("li",[e._v("View theme's properties")])]),e._v(" "),t("h3",{attrs:{id:"_1-0-0-feb-19-2023"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-0-0-feb-19-2023"}},[e._v("#")]),e._v(" 1.0.0 (Feb 19, 2023)")]),e._v(" "),t("ul",[t("li",[e._v("Load and edit theme source code")]),e._v(" "),t("li",[e._v("Save themes locally or publish to cloud storage")]),e._v(" "),t("li",[e._v("Explore public themes - search by name, sort by date/use")]),e._v(" "),t("li",[e._v("Apply themes")])])],1)}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[113],{588:function(e,t,a){"use strict";a.r(t);var s=a(16),r=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"theme-studio-changelog"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#theme-studio-changelog"}},[e._v("#")]),e._v(" Theme Studio Changelog")]),e._v(" "),t("m-social-links",{attrs:{hideCommentCount:""}}),e._v(" "),t("a-google-ad"),e._v(" "),t("h2",{attrs:{id:"all-versions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#all-versions"}},[e._v("#")]),e._v(" All versions")]),e._v(" "),t("h3",{attrs:{id:"_1-2-0-jul-10-2023"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-2-0-jul-10-2023"}},[e._v("#")]),e._v(" 1.2.0 (Jul 10, 2023)")]),e._v(" "),t("ul",[t("li",[e._v("Add link to video tutorials")]),e._v(" "),t("li",[e._v("Improve theme viewing by creators")]),e._v(" "),t("li",[e._v("Creators can now edit/overwrite their published themes")])]),e._v(" "),t("h3",{attrs:{id:"_1-1-0-mar-13-2023"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-1-0-mar-13-2023"}},[e._v("#")]),e._v(" 1.1.0 (Mar 13, 2023)")]),e._v(" "),t("ul",[t("li",[e._v("Search public themes by author")]),e._v(" "),t("li",[e._v("View theme's properties")])]),e._v(" "),t("h3",{attrs:{id:"_1-0-0-feb-19-2023"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-0-0-feb-19-2023"}},[e._v("#")]),e._v(" 1.0.0 (Feb 19, 2023)")]),e._v(" "),t("ul",[t("li",[e._v("Load and edit theme source code")]),e._v(" "),t("li",[e._v("Save themes locally or publish to cloud storage")]),e._v(" "),t("li",[e._v("Explore public themes - search by name, sort by date/use")]),e._v(" "),t("li",[e._v("Apply themes")])])],1)}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/12.711e4203.js b/assets/js/12.3fba3b11.js similarity index 90% rename from assets/js/12.711e4203.js rename to assets/js/12.3fba3b11.js index edeb3761..215e0ebe 100644 --- a/assets/js/12.711e4203.js +++ b/assets/js/12.3fba3b11.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{406:function(e,t,a){e.exports=a.p+"assets/img/roms.a020f50d.jpg"},407:function(e,t,a){e.exports=a.p+"assets/img/gamesdb.3f817468.jpg"},408:function(e,t,a){e.exports=a.p+"assets/img/insert-game-data.1bcf0446.jpg"},409:function(e,t,a){e.exports=a.p+"assets/img/insert-game-data2.ae992983.jpg"},537:function(e,t,a){"use strict";a.r(t);var o=a(16),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"how-to-add-more-games-to-game-stick-lite-4k"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-add-more-games-to-game-stick-lite-4k"}},[e._v("#")]),e._v(" How to add more games to Game Stick Lite 4K")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"/assets/covers/game-stick-4k-lite.jpg",alt:"Game Stick Lite 4K"}})]),e._v(" "),t("p",[e._v("Recently, I have had a chance to get my hands on a Game Stick Lite 4K, a USB stick-like device with two controllers and a bunch of pre-installed games that you can play on your TV. It is a fantastic option for those who want to play their childhood games on a big screen without owning a fancy console or a computer, as it is very affordable (typically around $20 - $40) and easy to set up. Though there are a lot of games pre-installed, some of your childhood favorites might be missing or are not available in your language. In this post, I will show you how to add more games to the Game Stick Lite 4K to enjoy more of your childhood games.")]),e._v(" "),t("h2",{attrs:{id:"prerequisites"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#prerequisites"}},[e._v("#")]),e._v(" Prerequisites")]),e._v(" "),t("ul",[t("li",[e._v("A Game Stick Lite 4K (apparently)")]),e._v(" "),t("li",[e._v("A computer or laptop with internet connection")]),e._v(" "),t("li",[e._v("A MicroSD card reader (even your smartphone can be used as a card reader)")])]),e._v(" "),t("h2",{attrs:{id:"step-by-step-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-by-step-guide"}},[e._v("#")]),e._v(" Step-by-step guide")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Have the game ROMs you want to play ready (you can find these easily by searching on the internet). Optionally, download a cover image for each game. The cover image should be in the "),t("code",[e._v(".png")]),e._v(" format and have the same name as the game ROM file. The cover image may then be displayed when you select the game to play.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(406),alt:"Game ROMs and cover images"}})])]),e._v(" "),t("li",[t("p",[e._v("Remove the MicroSD card from the game stick and insert it into your computer or laptop using a MicroSD card reader.")])]),e._v(" "),t("li",[t("p",[e._v("At the root of the SD card, you will see a "),t("code",[e._v("game")]),e._v(" folder, this is where all the games are stored. Games are grouped by the console they belong to. For instance, all the NES games are stored in the "),t("code",[e._v("fc")]),e._v(" folder, all the GameboyColor games are stored in the "),t("code",[e._v("gbc")]),e._v(" folder, Atari games in the "),t("code",[e._v("atari")]),e._v(" folder, and so on.")])]),e._v(" "),t("li",[t("p",[e._v("Copy your game ROMs (and their cover images) to the respective folders. Note that the ROM format should match with what is already available in the folder.")])]),e._v(" "),t("li",[t("p",[e._v("Install "),t("a",{attrs:{href:"https://sqlitebrowser.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("DB4S"),t("OutboundLink")],1),e._v(" (SQLite Database Browser) on your computer or laptop.")])]),e._v(" "),t("li",[t("p",[e._v("Back to the root of the SD card, open the "),t("code",[e._v("games.db")]),e._v(" file with DB4S (you might need to copy the file to your computer first if you are using a smartphone as a card reader).")])]),e._v(" "),t("li",[t("p",[e._v("Here, a list of tables in the game database will be displayed, you only need to care about the tables "),t("code",[e._v("tbl_en")]),e._v(" and "),t("code",[e._v("tbl_game")]),e._v(" where you will modify to add your games.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(407),alt:"Open games.db file using DB4S"}})])]),e._v(" "),t("li",[t("p",[e._v('Click on the "Browse Data" tab and select the '),t("code",[e._v("tbl_en")]),e._v(' table from the dropdown. Choose "Insert a new record" and add your game titles. Make sure the game titles match the names of the ROM files you added earlier.')]),e._v(" "),t("p",[t("img",{attrs:{src:a(408),alt:"Browse Data tab"}})])]),e._v(" "),t("li",[t("p",[e._v("Then select the "),t("code",[e._v("tbl_game")]),e._v(" table from the dropdown. Start adding your game data here following the existing format and structure. Also make sure the game titles match the names of the ROM files you added earlier.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(409),alt:"Insert game data"}})])])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("Warning")]),e._v(" "),t("p",[e._v("Be very careful when modifying the game database. Any mistake will cause the game stick to not work properly. Always make a backup of the "),t("code",[e._v("games.db")]),e._v(" file before making any changes.")])]),e._v(" "),t("ul",[t("li",[e._v("Save your changes (and replace the "),t("code",[e._v("games.db")]),e._v(" file on the SD card if you copied it to your computer earlier).")]),e._v(" "),t("li",[e._v("Safely remove the MicroSD card from your computer or laptop and insert it back into the game stick.")]),e._v(" "),t("li",[e._v("Turn on the game stick and enjoy your games!")])]),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{404:function(e,t,a){e.exports=a.p+"assets/img/roms.a020f50d.jpg"},405:function(e,t,a){e.exports=a.p+"assets/img/gamesdb.3f817468.jpg"},406:function(e,t,a){e.exports=a.p+"assets/img/insert-game-data.1bcf0446.jpg"},407:function(e,t,a){e.exports=a.p+"assets/img/insert-game-data2.ae992983.jpg"},536:function(e,t,a){"use strict";a.r(t);var o=a(16),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"how-to-add-more-games-to-game-stick-lite-4k"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-add-more-games-to-game-stick-lite-4k"}},[e._v("#")]),e._v(" How to add more games to Game Stick Lite 4K")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"/assets/covers/game-stick-4k-lite.jpg",alt:"Game Stick Lite 4K"}})]),e._v(" "),t("p",[e._v("Recently, I have had a chance to get my hands on a Game Stick Lite 4K, a USB stick-like device with two controllers and a bunch of pre-installed games that you can play on your TV. It is a fantastic option for those who want to play their childhood games on a big screen without owning a fancy console or a computer, as it is very affordable (typically around $20 - $40) and easy to set up. Though there are a lot of games pre-installed, some of your childhood favorites might be missing or are not available in your language. In this post, I will show you how to add more games to the Game Stick Lite 4K to enjoy more of your childhood games.")]),e._v(" "),t("h2",{attrs:{id:"prerequisites"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#prerequisites"}},[e._v("#")]),e._v(" Prerequisites")]),e._v(" "),t("ul",[t("li",[e._v("A Game Stick Lite 4K (apparently)")]),e._v(" "),t("li",[e._v("A computer or laptop with internet connection")]),e._v(" "),t("li",[e._v("A MicroSD card reader (even your smartphone can be used as a card reader)")])]),e._v(" "),t("h2",{attrs:{id:"step-by-step-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-by-step-guide"}},[e._v("#")]),e._v(" Step-by-step guide")]),e._v(" "),t("ul",[t("li",[t("p",[e._v("Have the game ROMs you want to play ready (you can find these easily by searching on the internet). Optionally, download a cover image for each game. The cover image should be in the "),t("code",[e._v(".png")]),e._v(" format and have the same name as the game ROM file. The cover image may then be displayed when you select the game to play.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(404),alt:"Game ROMs and cover images"}})])]),e._v(" "),t("li",[t("p",[e._v("Remove the MicroSD card from the game stick and insert it into your computer or laptop using a MicroSD card reader.")])]),e._v(" "),t("li",[t("p",[e._v("At the root of the SD card, you will see a "),t("code",[e._v("game")]),e._v(" folder, this is where all the games are stored. Games are grouped by the console they belong to. For instance, all the NES games are stored in the "),t("code",[e._v("fc")]),e._v(" folder, all the GameboyColor games are stored in the "),t("code",[e._v("gbc")]),e._v(" folder, Atari games in the "),t("code",[e._v("atari")]),e._v(" folder, and so on.")])]),e._v(" "),t("li",[t("p",[e._v("Copy your game ROMs (and their cover images) to the respective folders. Note that the ROM format should match with what is already available in the folder.")])]),e._v(" "),t("li",[t("p",[e._v("Install "),t("a",{attrs:{href:"https://sqlitebrowser.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("DB4S"),t("OutboundLink")],1),e._v(" (SQLite Database Browser) on your computer or laptop.")])]),e._v(" "),t("li",[t("p",[e._v("Back to the root of the SD card, open the "),t("code",[e._v("games.db")]),e._v(" file with DB4S (you might need to copy the file to your computer first if you are using a smartphone as a card reader).")])]),e._v(" "),t("li",[t("p",[e._v("Here, a list of tables in the game database will be displayed, you only need to care about the tables "),t("code",[e._v("tbl_en")]),e._v(" and "),t("code",[e._v("tbl_game")]),e._v(" where you will modify to add your games.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(405),alt:"Open games.db file using DB4S"}})])]),e._v(" "),t("li",[t("p",[e._v('Click on the "Browse Data" tab and select the '),t("code",[e._v("tbl_en")]),e._v(' table from the dropdown. Choose "Insert a new record" and add your game titles. Make sure the game titles match the names of the ROM files you added earlier.')]),e._v(" "),t("p",[t("img",{attrs:{src:a(406),alt:"Browse Data tab"}})])]),e._v(" "),t("li",[t("p",[e._v("Then select the "),t("code",[e._v("tbl_game")]),e._v(" table from the dropdown. Start adding your game data here following the existing format and structure. Also make sure the game titles match the names of the ROM files you added earlier.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(407),alt:"Insert game data"}})])])]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("Warning")]),e._v(" "),t("p",[e._v("Be very careful when modifying the game database. Any mistake will cause the game stick to not work properly. Always make a backup of the "),t("code",[e._v("games.db")]),e._v(" file before making any changes.")])]),e._v(" "),t("ul",[t("li",[e._v("Save your changes (and replace the "),t("code",[e._v("games.db")]),e._v(" file on the SD card if you copied it to your computer earlier).")]),e._v(" "),t("li",[e._v("Safely remove the MicroSD card from your computer or laptop and insert it back into the game stick.")]),e._v(" "),t("li",[e._v("Turn on the game stick and enjoy your games!")])]),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/13.3e32bcc9.js b/assets/js/13.00863af4.js similarity index 99% rename from assets/js/13.3e32bcc9.js rename to assets/js/13.00863af4.js index 14130d89..61d96751 100644 --- a/assets/js/13.3e32bcc9.js +++ b/assets/js/13.00863af4.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{410:function(e,t,o){e.exports=o.p+"assets/img/win7simu-iframe-browser.ddc0ac3e.png"},411:function(e,t,o){e.exports=o.p+"assets/img/iframe-example.2e94f1f8.png"},412:function(e,t,o){e.exports=o.p+"assets/img/install-requestly-edge.b2cce739.png"},413:function(e,t,o){e.exports=o.p+"assets/img/import-win7simu-requestly-rules.a4498b88.png"},538:function(e,t,o){"use strict";o.r(t);var s=o(16),i=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"how-to-get-iframes-to-load-any-websites"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-get-iframes-to-load-any-websites"}},[e._v("#")]),e._v(" How to get iframes to load any websites")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"/assets/covers/load-any-websites-in-iframes.png",alt:"The infinite iframe"}})]),e._v(" "),t("center",[t("a-button",{attrs:{href:"#step-by-step-guide"}},[e._v("Jump to the guide")])],1),e._v(" "),t("p",[e._v("As mentioned in my previous post regarding "),t("RouterLink",{attrs:{to:"/blog/building-win7-simu.html#iframe-issue"}},[e._v("the issue")]),e._v(" that the Win7 Simu's web browsers (using "),t("code",[e._v("iframes")]),e._v(') have been suffering from, I have been trying hard to come up with a way to solve it, from all the "google-ing", digging the source code of potential solutions, to a lot of trials and failures, I have finally come to the solutions that work. These solutions do not dismiss the issue completely, but they just seem to work better, in one way or another, than the earlier approach using a proxy server.')],1),e._v(" "),t("p",[e._v("In this post, I'm gonna share the solution I have come to for the "),t("strong",[e._v("Web")]),e._v(" version of Win7 Simu. The solution for the "),t("strong",[e._v("Android")]),e._v(" platform is different and may be shared in another post.")]),e._v(" "),t("h2",{attrs:{id:"the-scenario"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-scenario"}},[e._v("#")]),e._v(" The scenario")]),e._v(" "),t("p",[t("img",{attrs:{src:o(410),alt:"Cannot load website in iframe"}})]),e._v(" "),t("p",[e._v("As I have shared in the previous "),t("RouterLink",{attrs:{to:"/blog/building-win7-simu.html"}},[e._v("blog post")]),e._v(", Win7 Simu is made up of web techs, and "),t("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe",target:"_blank",rel:"noopener noreferrer"}},[e._v("iframe"),t("OutboundLink")],1),e._v(" has been the technique of choice to simulate a web browser's functionalities due to its similar capabilities. To put it simply, iframe is capable of embedding one website into another, allowing controlling the embedded website to some extent. However, due to security risks, the website owners may restrict this capability or not allow the embedding to happen at all, by setting the "),t("code",[e._v("X-Frame-Options")]),e._v(" header to "),t("code",[e._v("sameorigin")]),e._v(" and/or specifying the "),t("code",[e._v("Content-Security-Policy")]),e._v(" header constraint on the response received by requests to load their website.")],1),e._v(" "),t("p",[e._v("For example, if an iframe wants to load a Google search page at "),t("code",[e._v("https://google.com")]),e._v(", it will make a request to that URL, Google will respond to the request with the necessary data to present itself as a web page, including the "),t("code",[e._v("X-Frame-Options")]),e._v(" and/or "),t("code",[e._v("Content-Security-Policy")]),e._v(" headers in the response. If the iframe receives the "),t("code",[e._v("X-Frame-Options")]),e._v(" with the "),t("code",[e._v("sameorigin")]),e._v(" value, or with some cross-origin restriction rules in the "),t("code",[e._v("Content-Security-Policy")]),e._v(", the web page cannot be shown in the iframe.")]),e._v(" "),t("p",[t("img",{attrs:{src:o(411),alt:"Iframe example"}})]),e._v(" "),t("p",[t("em",[e._v("(Illustration poorly crafted using "),t("a",{attrs:{href:"https://excalidraw.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Excalidraw"),t("OutboundLink")],1),e._v(")")])]),e._v(" "),t("p",[e._v("And this is a common practice for the majority of websites, they don't owe you anything to let you run loose and potentially cause damage to their business.")]),e._v(" "),t("p",[e._v("So I'm out of luck then? There is no way to simulate a web browser's functionalities in a web environment? Well, more or less. With the problem identified, there is still a chance to come up with a solution, and the solution I have come to is "),t("strong",[e._v("intercepting the response")]),e._v(" to remove these two headers so that the iframe can load any website normally. For this, a browser extension is required as it is the only possible way to intercept requests/responses coming through the user's web browser without much security concern. Follow the below steps to implement this solution on your device.")]),e._v(" "),t("a-google-ad"),e._v(" "),t("h2",{attrs:{id:"step-by-step-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-by-step-guide"}},[e._v("#")]),e._v(" Step-by-step guide")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("Note")]),e._v(" "),t("p",[e._v("This guide is not applicable for Android. If you are using the Android version, skip it to save some minutes of your life 😇")])]),e._v(" "),t("h3",{attrs:{id:"_1-install-requestly-browser-extension"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-install-requestly-browser-extension"}},[e._v("#")]),e._v(" 1. Install Requestly browser extension")]),e._v(" "),t("ul",[t("li",[e._v("Visit "),t("a",{attrs:{href:"https://requestly.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Requestly home page"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Download the extension for your browser of choice, eg. pick the Chrome version of the extension if you are using Chrome, Firefox extension for Firefox, Edge add-on for Edge etc.")])]),e._v(" "),t("p",[t("img",{attrs:{src:o(412),alt:"Install Requestly on Edge"}})]),e._v(" "),t("h3",{attrs:{id:"_2-import-the-predefined-rules"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-import-the-predefined-rules"}},[e._v("#")]),e._v(" 2. Import the predefined rules")]),e._v(" "),t("ul",[t("li",[e._v("Download "),t("a",{attrs:{href:"/assets/win7-simu-requestly.json",download:""}},[e._v("this JSON file")]),e._v(" which contains the Requestly rules to make Win7 Simu's web browers capable of loading any websites ("),t("em",[e._v("file last updated: June 12, 2024")]),e._v(")")]),e._v(" "),t("li",[e._v("Go to "),t("a",{attrs:{href:"https://app.requestly.io/rules/my-rules",target:"_blank",rel:"noopener noreferrer"}},[e._v("Requestly app page"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Upload the JSON file to import the rules.")])]),e._v(" "),t("p",[t("img",{attrs:{src:o(413),alt:"Import Win7 Simu Requestly rules"}})]),e._v(" "),t("h3",{attrs:{id:"_3-enjoy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_3-enjoy"}},[e._v("#")]),e._v(" 3. Enjoy")]),e._v(" "),t("p",[e._v("There is no step 3. From now on, you should be able to view any websites in Win7 Simu's web browsers without problems.")]),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{410:function(e,t,o){e.exports=o.p+"assets/img/win7simu-iframe-browser.ddc0ac3e.png"},411:function(e,t,o){e.exports=o.p+"assets/img/iframe-example.2e94f1f8.png"},412:function(e,t,o){e.exports=o.p+"assets/img/install-requestly-edge.b2cce739.png"},413:function(e,t,o){e.exports=o.p+"assets/img/import-win7simu-requestly-rules.a4498b88.png"},539:function(e,t,o){"use strict";o.r(t);var s=o(16),i=Object(s.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"how-to-get-iframes-to-load-any-websites"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#how-to-get-iframes-to-load-any-websites"}},[e._v("#")]),e._v(" How to get iframes to load any websites")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"/assets/covers/load-any-websites-in-iframes.png",alt:"The infinite iframe"}})]),e._v(" "),t("center",[t("a-button",{attrs:{href:"#step-by-step-guide"}},[e._v("Jump to the guide")])],1),e._v(" "),t("p",[e._v("As mentioned in my previous post regarding "),t("RouterLink",{attrs:{to:"/blog/building-win7-simu.html#iframe-issue"}},[e._v("the issue")]),e._v(" that the Win7 Simu's web browsers (using "),t("code",[e._v("iframes")]),e._v(') have been suffering from, I have been trying hard to come up with a way to solve it, from all the "google-ing", digging the source code of potential solutions, to a lot of trials and failures, I have finally come to the solutions that work. These solutions do not dismiss the issue completely, but they just seem to work better, in one way or another, than the earlier approach using a proxy server.')],1),e._v(" "),t("p",[e._v("In this post, I'm gonna share the solution I have come to for the "),t("strong",[e._v("Web")]),e._v(" version of Win7 Simu. The solution for the "),t("strong",[e._v("Android")]),e._v(" platform is different and may be shared in another post.")]),e._v(" "),t("h2",{attrs:{id:"the-scenario"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-scenario"}},[e._v("#")]),e._v(" The scenario")]),e._v(" "),t("p",[t("img",{attrs:{src:o(410),alt:"Cannot load website in iframe"}})]),e._v(" "),t("p",[e._v("As I have shared in the previous "),t("RouterLink",{attrs:{to:"/blog/building-win7-simu.html"}},[e._v("blog post")]),e._v(", Win7 Simu is made up of web techs, and "),t("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe",target:"_blank",rel:"noopener noreferrer"}},[e._v("iframe"),t("OutboundLink")],1),e._v(" has been the technique of choice to simulate a web browser's functionalities due to its similar capabilities. To put it simply, iframe is capable of embedding one website into another, allowing controlling the embedded website to some extent. However, due to security risks, the website owners may restrict this capability or not allow the embedding to happen at all, by setting the "),t("code",[e._v("X-Frame-Options")]),e._v(" header to "),t("code",[e._v("sameorigin")]),e._v(" and/or specifying the "),t("code",[e._v("Content-Security-Policy")]),e._v(" header constraint on the response received by requests to load their website.")],1),e._v(" "),t("p",[e._v("For example, if an iframe wants to load a Google search page at "),t("code",[e._v("https://google.com")]),e._v(", it will make a request to that URL, Google will respond to the request with the necessary data to present itself as a web page, including the "),t("code",[e._v("X-Frame-Options")]),e._v(" and/or "),t("code",[e._v("Content-Security-Policy")]),e._v(" headers in the response. If the iframe receives the "),t("code",[e._v("X-Frame-Options")]),e._v(" with the "),t("code",[e._v("sameorigin")]),e._v(" value, or with some cross-origin restriction rules in the "),t("code",[e._v("Content-Security-Policy")]),e._v(", the web page cannot be shown in the iframe.")]),e._v(" "),t("p",[t("img",{attrs:{src:o(411),alt:"Iframe example"}})]),e._v(" "),t("p",[t("em",[e._v("(Illustration poorly crafted using "),t("a",{attrs:{href:"https://excalidraw.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Excalidraw"),t("OutboundLink")],1),e._v(")")])]),e._v(" "),t("p",[e._v("And this is a common practice for the majority of websites, they don't owe you anything to let you run loose and potentially cause damage to their business.")]),e._v(" "),t("p",[e._v("So I'm out of luck then? There is no way to simulate a web browser's functionalities in a web environment? Well, more or less. With the problem identified, there is still a chance to come up with a solution, and the solution I have come to is "),t("strong",[e._v("intercepting the response")]),e._v(" to remove these two headers so that the iframe can load any website normally. For this, a browser extension is required as it is the only possible way to intercept requests/responses coming through the user's web browser without much security concern. Follow the below steps to implement this solution on your device.")]),e._v(" "),t("a-google-ad"),e._v(" "),t("h2",{attrs:{id:"step-by-step-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-by-step-guide"}},[e._v("#")]),e._v(" Step-by-step guide")]),e._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"custom-block-title"},[e._v("Note")]),e._v(" "),t("p",[e._v("This guide is not applicable for Android. If you are using the Android version, skip it to save some minutes of your life 😇")])]),e._v(" "),t("h3",{attrs:{id:"_1-install-requestly-browser-extension"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-install-requestly-browser-extension"}},[e._v("#")]),e._v(" 1. Install Requestly browser extension")]),e._v(" "),t("ul",[t("li",[e._v("Visit "),t("a",{attrs:{href:"https://requestly.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Requestly home page"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Download the extension for your browser of choice, eg. pick the Chrome version of the extension if you are using Chrome, Firefox extension for Firefox, Edge add-on for Edge etc.")])]),e._v(" "),t("p",[t("img",{attrs:{src:o(412),alt:"Install Requestly on Edge"}})]),e._v(" "),t("h3",{attrs:{id:"_2-import-the-predefined-rules"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-import-the-predefined-rules"}},[e._v("#")]),e._v(" 2. Import the predefined rules")]),e._v(" "),t("ul",[t("li",[e._v("Download "),t("a",{attrs:{href:"/assets/win7-simu-requestly.json",download:""}},[e._v("this JSON file")]),e._v(" which contains the Requestly rules to make Win7 Simu's web browers capable of loading any websites ("),t("em",[e._v("file last updated: June 12, 2024")]),e._v(")")]),e._v(" "),t("li",[e._v("Go to "),t("a",{attrs:{href:"https://app.requestly.io/rules/my-rules",target:"_blank",rel:"noopener noreferrer"}},[e._v("Requestly app page"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Upload the JSON file to import the rules.")])]),e._v(" "),t("p",[t("img",{attrs:{src:o(413),alt:"Import Win7 Simu Requestly rules"}})]),e._v(" "),t("h3",{attrs:{id:"_3-enjoy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_3-enjoy"}},[e._v("#")]),e._v(" 3. Enjoy")]),e._v(" "),t("p",[e._v("There is no step 3. From now on, you should be able to view any websites in Win7 Simu's web browsers without problems.")]),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/20.ff912ff7.js b/assets/js/20.8b84e27c.js similarity index 98% rename from assets/js/20.ff912ff7.js rename to assets/js/20.8b84e27c.js index c1576de1..2e5e6298 100644 --- a/assets/js/20.ff912ff7.js +++ b/assets/js/20.8b84e27c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{423:function(t,e,r){t.exports=r.p+"assets/img/countries.2365af34.png"},424:function(t,e,r){t.exports=r.p+"assets/img/os.0c06c5c2.png"},425:function(t,e,r){t.exports=r.p+"assets/img/device-categories.73347f28.png"},547:function(t,e,r){"use strict";r.r(e);var a=r(16),s=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"win7-simu-year-in-review-2022"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#win7-simu-year-in-review-2022"}},[t._v("#")]),t._v(" Win7 Simu year in review - 2022")]),t._v(" "),e("m-blog-meta"),t._v(" "),e("p",[e("img",{attrs:{src:"https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80",alt:"Ho Chi Minh new year firework"}})]),t._v(" "),e("p",[e("em",[t._v("Cover image by Tron Le via "),e("a",{attrs:{href:"https://unsplash.com/photos/sjlU-PBXFHg",target:"_blank",rel:"noopener noreferrer"}},[t._v("Unsplash"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("Another year passed by, how was it for you? Hope you had a wonderful year. For Win7 Simu, 2022 was amazing. For a hobby project that was started out just "),e("RouterLink",{attrs:{to:"/blog/building-win7-simu.html"}},[t._v("for fun and learning")]),t._v(", it definitely has been growing surprisingly thanks to "),e("s",[t._v("my effort")]),t._v(" the love and support from you all. So in this post, let us have a look back at some amazing numbers that Win7 Simu achieved in 2022.")],1),t._v(" "),e("h2",{attrs:{id:"the-amazing-numbers"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#the-amazing-numbers"}},[t._v("#")]),t._v(" The amazing numbers")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("4.3M")]),t._v(" users downloaded the app from "),e("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.visnalize.win7simu",target:"_blank",rel:"noopener noreferrer"}},[t._v("Google Play"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("strong",[t._v("30K")]),t._v(" users downloaded the app from "),e("a",{attrs:{href:"https://appgallery.huawei.com/app/C106588347",target:"_blank",rel:"noopener noreferrer"}},[t._v("Huawei AppGallery"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("strong",[t._v("29K")]),t._v(" users gave an average rating of "),e("strong",[t._v("4.1/5")])]),t._v(" "),e("li",[e("strong",[t._v("15K")]),t._v(" users left a review")]),t._v(" "),e("li",[e("strong",[t._v("500K")]),t._v(" accounts created in the app")]),t._v(" "),e("li",[e("strong",[t._v("13")]),t._v(" version updates were released")]),t._v(" "),e("li",[e("strong",[t._v("50")]),t._v(" contributors helped out with the translations on "),e("a",{attrs:{href:"https://crowdin.com/project/win7simu",target:"_blank",rel:"noopener noreferrer"}},[t._v("Crowdin"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"other-interesting-statistics"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#other-interesting-statistics"}},[t._v("#")]),t._v(" Other interesting statistics")]),t._v(" "),e("h3",{attrs:{id:"countries-overview"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#countries-overview"}},[t._v("#")]),t._v(" Countries overview")]),t._v(" "),e("p",[e("img",{attrs:{src:r(423),alt:"top countries"}})]),t._v(" "),e("h3",{attrs:{id:"devices-overview"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#devices-overview"}},[t._v("#")]),t._v(" Devices overview")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Operating systems")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Device categories")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("img",{attrs:{src:r(424),alt:"operating systems"}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("img",{attrs:{src:r(425),alt:"device categories"}})])])])]),t._v(" "),e("h2",{attrs:{id:"looking-out-to-2023"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#looking-out-to-2023"}},[t._v("#")]),t._v(" Looking out to 2023")]),t._v(" "),e("p",[t._v("I hope Win7 Simu has been doing a good job in contributing to a wonderful year for you. Please keep supporting it and continue to look forward to more updates rolling out, with more stunning features and stability. Wishing all the best to you and your family. Happy New year! 🎉")]),t._v(" "),e("m-blog-tag-list",{attrs:{tags:t.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{423:function(t,e,r){t.exports=r.p+"assets/img/countries.2365af34.png"},424:function(t,e,r){t.exports=r.p+"assets/img/os.0c06c5c2.png"},425:function(t,e,r){t.exports=r.p+"assets/img/device-categories.73347f28.png"},548:function(t,e,r){"use strict";r.r(e);var a=r(16),s=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"win7-simu-year-in-review-2022"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#win7-simu-year-in-review-2022"}},[t._v("#")]),t._v(" Win7 Simu year in review - 2022")]),t._v(" "),e("m-blog-meta"),t._v(" "),e("p",[e("img",{attrs:{src:"https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80",alt:"Ho Chi Minh new year firework"}})]),t._v(" "),e("p",[e("em",[t._v("Cover image by Tron Le via "),e("a",{attrs:{href:"https://unsplash.com/photos/sjlU-PBXFHg",target:"_blank",rel:"noopener noreferrer"}},[t._v("Unsplash"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("Another year passed by, how was it for you? Hope you had a wonderful year. For Win7 Simu, 2022 was amazing. For a hobby project that was started out just "),e("RouterLink",{attrs:{to:"/blog/building-win7-simu.html"}},[t._v("for fun and learning")]),t._v(", it definitely has been growing surprisingly thanks to "),e("s",[t._v("my effort")]),t._v(" the love and support from you all. So in this post, let us have a look back at some amazing numbers that Win7 Simu achieved in 2022.")],1),t._v(" "),e("h2",{attrs:{id:"the-amazing-numbers"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#the-amazing-numbers"}},[t._v("#")]),t._v(" The amazing numbers")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("4.3M")]),t._v(" users downloaded the app from "),e("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.visnalize.win7simu",target:"_blank",rel:"noopener noreferrer"}},[t._v("Google Play"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("strong",[t._v("30K")]),t._v(" users downloaded the app from "),e("a",{attrs:{href:"https://appgallery.huawei.com/app/C106588347",target:"_blank",rel:"noopener noreferrer"}},[t._v("Huawei AppGallery"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("strong",[t._v("29K")]),t._v(" users gave an average rating of "),e("strong",[t._v("4.1/5")])]),t._v(" "),e("li",[e("strong",[t._v("15K")]),t._v(" users left a review")]),t._v(" "),e("li",[e("strong",[t._v("500K")]),t._v(" accounts created in the app")]),t._v(" "),e("li",[e("strong",[t._v("13")]),t._v(" version updates were released")]),t._v(" "),e("li",[e("strong",[t._v("50")]),t._v(" contributors helped out with the translations on "),e("a",{attrs:{href:"https://crowdin.com/project/win7simu",target:"_blank",rel:"noopener noreferrer"}},[t._v("Crowdin"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"other-interesting-statistics"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#other-interesting-statistics"}},[t._v("#")]),t._v(" Other interesting statistics")]),t._v(" "),e("h3",{attrs:{id:"countries-overview"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#countries-overview"}},[t._v("#")]),t._v(" Countries overview")]),t._v(" "),e("p",[e("img",{attrs:{src:r(423),alt:"top countries"}})]),t._v(" "),e("h3",{attrs:{id:"devices-overview"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#devices-overview"}},[t._v("#")]),t._v(" Devices overview")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("Operating systems")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Device categories")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("img",{attrs:{src:r(424),alt:"operating systems"}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("img",{attrs:{src:r(425),alt:"device categories"}})])])])]),t._v(" "),e("h2",{attrs:{id:"looking-out-to-2023"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#looking-out-to-2023"}},[t._v("#")]),t._v(" Looking out to 2023")]),t._v(" "),e("p",[t._v("I hope Win7 Simu has been doing a good job in contributing to a wonderful year for you. Please keep supporting it and continue to look forward to more updates rolling out, with more stunning features and stability. Wishing all the best to you and your family. Happy New year! 🎉")]),t._v(" "),e("m-blog-tag-list",{attrs:{tags:t.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/21.91fb08b0.js b/assets/js/21.be143f80.js similarity index 86% rename from assets/js/21.91fb08b0.js rename to assets/js/21.be143f80.js index 0e2a920a..c3f97e74 100644 --- a/assets/js/21.91fb08b0.js +++ b/assets/js/21.be143f80.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{373:function(t,e,n){},477:function(t,e,n){"use strict";n(373)},592:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},p=(n(477),n(16)),l=Object(p.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=l.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{373:function(t,e,n){},477:function(t,e,n){"use strict";n(373)},593:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},p=(n(477),n(16)),l=Object(p.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/22.b024a266.js b/assets/js/22.5dc075a2.js similarity index 65% rename from assets/js/22.b024a266.js rename to assets/js/22.5dc075a2.js index 1d199bd2..f7df9a84 100644 --- a/assets/js/22.b024a266.js +++ b/assets/js/22.5dc075a2.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{375:function(t,e,a){},479:function(t,e,a){"use strict";a(375)},528:function(t,e,a){"use strict";a.r(e);var s={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(479),a(16)),n=Object(i.a)(s,(function(){return(0,this._self._c)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{374:function(t,e,a){},478:function(t,e,a){"use strict";a(374)},527:function(t,e,a){"use strict";a.r(e);var s={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(478),a(16)),n=Object(i.a)(s,(function(){return(0,this._self._c)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/23.ce3dc7ab.js b/assets/js/23.9cc9a595.js similarity index 88% rename from assets/js/23.ce3dc7ab.js rename to assets/js/23.9cc9a595.js index 3907b465..fa3b5530 100644 --- a/assets/js/23.ce3dc7ab.js +++ b/assets/js/23.9cc9a595.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{374:function(e,t,a){},478:function(e,t,a){"use strict";a(374)},527:function(e,t,a){"use strict";a.r(t);var o={name:"CodeGroup",data:()=>({codeTabs:[],activeCodeTabIndex:-1}),watch:{activeCodeTabIndex(e){this.activateCodeTab(e)}},mounted(){this.loadTabs()},methods:{changeCodeTab(e){this.activeCodeTabIndex=e},loadTabs(){this.codeTabs=(this.$slots.default||[]).filter(e=>Boolean(e.componentOptions)).map((e,t)=>(""===e.componentOptions.propsData.active&&(this.activeCodeTabIndex=t),{title:e.componentOptions.propsData.title,elm:e.elm})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab(e){this.codeTabs.forEach(e=>{e.elm&&e.elm.classList.remove("theme-code-block__active")}),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},s=(a(478),a(16)),c=Object(s.a)(o,(function(){var e=this,t=e._self._c;return t("ClientOnly",[t("div",{staticClass:"theme-code-group"},[t("div",{staticClass:"theme-code-group__nav"},[t("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(a,o){return t("li",{key:a.title,staticClass:"theme-code-group__li"},[t("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(a.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?t("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{375:function(e,t,a){},479:function(e,t,a){"use strict";a(375)},528:function(e,t,a){"use strict";a.r(t);var o={name:"CodeGroup",data:()=>({codeTabs:[],activeCodeTabIndex:-1}),watch:{activeCodeTabIndex(e){this.activateCodeTab(e)}},mounted(){this.loadTabs()},methods:{changeCodeTab(e){this.activeCodeTabIndex=e},loadTabs(){this.codeTabs=(this.$slots.default||[]).filter(e=>Boolean(e.componentOptions)).map((e,t)=>(""===e.componentOptions.propsData.active&&(this.activeCodeTabIndex=t),{title:e.componentOptions.propsData.title,elm:e.elm})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab(e){this.codeTabs.forEach(e=>{e.elm&&e.elm.classList.remove("theme-code-block__active")}),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},s=(a(479),a(16)),c=Object(s.a)(o,(function(){var e=this,t=e._self._c;return t("ClientOnly",[t("div",{staticClass:"theme-code-group"},[t("div",{staticClass:"theme-code-group__nav"},[t("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(a,o){return t("li",{key:a.title,staticClass:"theme-code-group__li"},[t("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(a.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?t("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/24.b6be473a.js b/assets/js/24.9e2092be.js similarity index 90% rename from assets/js/24.b6be473a.js rename to assets/js/24.9e2092be.js index 07720261..071bec76 100644 --- a/assets/js/24.b6be473a.js +++ b/assets/js/24.9e2092be.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{344:function(t,n,r){},445:function(t,n,r){"use strict";r(344)},495:function(t,n,r){"use strict";r.r(n);var e={props:{href:String},computed:{isExternal(){return this.href.startsWith("http")}}},s=(r(445),r(16)),a=Object(s.a)(e,(function(){var t=this,n=t._self._c;return t.href&&!t.isExternal?n("router-link",{staticClass:"a-button",attrs:{to:t.href}},[t._t("default")],2):t.href&&t.isExternal?n("a",{staticClass:"a-button",attrs:{href:t.href,target:"_blank"}},[t._t("default")],2):n("button",{staticClass:"a-button",on:{click:function(n){return t.$emit("click")}}},[t._t("default")],2)}),[],!1,null,"4ef368cc",null);n.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{344:function(t,n,r){},445:function(t,n,r){"use strict";r(344)},496:function(t,n,r){"use strict";r.r(n);var e={props:{href:String},computed:{isExternal(){return this.href.startsWith("http")}}},s=(r(445),r(16)),a=Object(s.a)(e,(function(){var t=this,n=t._self._c;return t.href&&!t.isExternal?n("router-link",{staticClass:"a-button",attrs:{to:t.href}},[t._t("default")],2):t.href&&t.isExternal?n("a",{staticClass:"a-button",attrs:{href:t.href,target:"_blank"}},[t._t("default")],2):n("button",{staticClass:"a-button",on:{click:function(n){return t.$emit("click")}}},[t._t("default")],2)}),[],!1,null,"4ef368cc",null);n.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/25.1515336d.js b/assets/js/25.a6b4cc63.js similarity index 75% rename from assets/js/25.1515336d.js rename to assets/js/25.a6b4cc63.js index fd777ddf..e5e49410 100644 --- a/assets/js/25.1515336d.js +++ b/assets/js/25.a6b4cc63.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{345:function(s,t,n){},446:function(s,t,n){"use strict";n(345)},498:function(s,t,n){"use strict";n.r(t);var i={data(){return{id:this.$route.path}},mounted(){const s=document.createElement("script");s.id="dsq-count-scr",s.src="//visnalize.disqus.com/count.js",s.async=!0,document.body.appendChild(s)}},c=(n(446),n(16)),a=Object(c.a)(i,(function(){var s=this._self._c;return s("a",{staticClass:"social-comment",attrs:{href:"#comments"}},[s("img",{attrs:{src:"https://c.disquscdn.com/next/ef5ca81/marketing/assets/img/brand/disqus-social-icon-dark.svg",alt:"disqus"}}),this._v(" "),s("span",{staticClass:"disqus-comment-count",attrs:{"data-disqus-identifier":this.id}})])}),[],!1,null,"7233fed5",null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{346:function(s,t,n){},447:function(s,t,n){"use strict";n(346)},499:function(s,t,n){"use strict";n.r(t);var i={data(){return{id:this.$route.path}},mounted(){const s=document.createElement("script");s.id="dsq-count-scr",s.src="//visnalize.disqus.com/count.js",s.async=!0,document.body.appendChild(s)}},c=(n(447),n(16)),a=Object(c.a)(i,(function(){var s=this._self._c;return s("a",{staticClass:"social-comment",attrs:{href:"#comments"}},[s("img",{attrs:{src:"https://c.disquscdn.com/next/ef5ca81/marketing/assets/img/brand/disqus-social-icon-dark.svg",alt:"disqus"}}),this._v(" "),s("span",{staticClass:"disqus-comment-count",attrs:{"data-disqus-identifier":this.id}})])}),[],!1,null,"7233fed5",null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/26.53873235.js b/assets/js/26.f1cc3eaa.js similarity index 71% rename from assets/js/26.53873235.js rename to assets/js/26.f1cc3eaa.js index cdeb385b..6625e97c 100644 --- a/assets/js/26.53873235.js +++ b/assets/js/26.f1cc3eaa.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{346:function(t,e,i){},447:function(t,e,i){"use strict";i(346)},499:function(t,e,i){"use strict";i.r(e);var n={props:{label:String,icon:String,iconSize:String},computed:{size(){return this.iconSize||"24"}}},o=(i(447),i(16)),c=Object(o.a)(n,(function(){var t=this,e=t._self._c;return e("button",{directives:[{name:"tooltip",rawName:"v-tooltip",value:{content:t.label,offset:8},expression:"{ content: label, offset: 8 }"}],attrs:{title:t.label},on:{click:function(e){return t.$emit("click")}}},[e("a-icon",{attrs:{icon:t.icon,width:t.size,height:t.size}})],1)}),[],!1,null,"00e9533b",null);e.default=c.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{345:function(t,e,i){},446:function(t,e,i){"use strict";i(345)},498:function(t,e,i){"use strict";i.r(e);var n={props:{label:String,icon:String,iconSize:String},computed:{size(){return this.iconSize||"24"}}},o=(i(446),i(16)),c=Object(o.a)(n,(function(){var t=this,e=t._self._c;return e("button",{directives:[{name:"tooltip",rawName:"v-tooltip",value:{content:t.label,offset:8},expression:"{ content: label, offset: 8 }"}],attrs:{title:t.label},on:{click:function(e){return t.$emit("click")}}},[e("a-icon",{attrs:{icon:t.icon,width:t.size,height:t.size}})],1)}),[],!1,null,"00e9533b",null);e.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/27.98351279.js b/assets/js/27.727ad85a.js similarity index 89% rename from assets/js/27.98351279.js rename to assets/js/27.727ad85a.js index 0569f5f5..59fc6d77 100644 --- a/assets/js/27.98351279.js +++ b/assets/js/27.727ad85a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{347:function(t,e,i){},448:function(t,e,i){"use strict";i(347)},501:function(t,e,i){"use strict";i.r(e);var s={props:{date:String},computed:{createdDate(){return this.date||this.$page.firstCreated}}},a=(i(448),i(16)),r=Object(a.a)(s,(function(){var t=this._self._c;return this.createdDate?t("div",{staticClass:"first-created",attrs:{title:"Created date"}},[t("a-icon",{attrs:{icon:"mdi:clock-outline",width:"16",height:"16"}}),this._v(" "),t("span",[this._v(this._s(this.createdDate))])],1):this._e()}),[],!1,null,"08d268a8",null);e.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{347:function(t,e,i){},448:function(t,e,i){"use strict";i(347)},500:function(t,e,i){"use strict";i.r(e);var s={props:{date:String},computed:{createdDate(){return this.date||this.$page.firstCreated}}},a=(i(448),i(16)),r=Object(a.a)(s,(function(){var t=this._self._c;return this.createdDate?t("div",{staticClass:"first-created",attrs:{title:"Created date"}},[t("a-icon",{attrs:{icon:"mdi:clock-outline",width:"16",height:"16"}}),this._v(" "),t("span",[this._v(this._s(this.createdDate))])],1):this._e()}),[],!1,null,"08d268a8",null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/4.fa4709e0.js b/assets/js/4.f39221b3.js similarity index 99% rename from assets/js/4.fa4709e0.js rename to assets/js/4.f39221b3.js index 9258d3b3..1e30e3d9 100644 --- a/assets/js/4.fa4709e0.js +++ b/assets/js/4.f39221b3.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{426:function(t,a,s){t.exports=s.p+"assets/img/snake-intro.eb93ba77.png"},427:function(t,a,s){t.exports=s.p+"assets/img/snake-gameplay.17189f88.png"},428:function(t,a,s){t.exports=s.p+"assets/img/brick-intro.9af9d339.png"},429:function(t,a,s){t.exports=s.p+"assets/img/brick-gameplay.e2169365.png"},430:function(t,a,s){t.exports=s.p+"assets/img/dino-intro.0794c934.png"},431:function(t,a,s){t.exports=s.p+"assets/img/dino-gameplay.12ab28dc.png"},432:function(t,a,s){t.exports=s.p+"assets/img/monogram-intro.835a6b4b.png"},433:function(t,a,s){t.exports=s.p+"assets/img/monogram-gameplay.bcc4ca97.png"},554:function(t,a,s){"use strict";s.r(a);var e=s(16),r=Object(e.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"brick-1100-games"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#brick-1100-games"}},[t._v("#")]),t._v(" Brick 1100 Games")]),t._v(" "),a("m-social-links"),t._v(" "),a("h2",{attrs:{id:"snake"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#snake"}},[t._v("#")]),t._v(" Snake")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Splash screen")]),t._v(" "),a("th",[t._v("Gameplay")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("img",{attrs:{src:s(426),alt:"Snake intro"}})]),t._v(" "),a("td",[a("img",{attrs:{src:s(427),alt:"Snake gameplay"}})])])])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Goal")]),t._v(" "),a("p",[t._v("Make the snake grow longer by directing it to the food. The longer the snake gets, the more points you score.")])]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("Controls")]),t._v(" "),a("ul",[a("li",[a("a-key",{attrs:{s:"navi"}}),t._v(" / "),a("a-key",{attrs:{s:"clear"}}),t._v(" - pause game\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"down"}}),t._v(" - move clockwise\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"up"}}),t._v(" - move counter-clockwise\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"2"}}),t._v(" - move up\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"8"}}),t._v(" - move down\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"4"}}),t._v(" - move left\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"6"}}),t._v(" - move right\n")],1)])]),t._v(" "),a("h2",{attrs:{id:"brick-breaker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#brick-breaker"}},[t._v("#")]),t._v(" Brick Breaker")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Splash screen")]),t._v(" "),a("th",[t._v("Gameplay")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("img",{attrs:{src:s(428),alt:"Brick breaker intro"}})]),t._v(" "),a("td",[a("img",{attrs:{src:s(429),alt:"Brick breaker gameplay"}})])])])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Goal")]),t._v(" "),a("p",[t._v("Clear the screen by breaking all the bricks with the ball to advance to the next level.")])]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("Controls")]),t._v(" "),a("ul",[a("li",[a("a-key",{attrs:{s:"navi"}}),t._v(" / "),a("a-key",{attrs:{s:"clear"}}),t._v(" - pause game\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"up"}}),t._v(" / "),a("a-key",{attrs:{s:"1"}}),t._v(" / "),a("a-key",{attrs:{s:"4"}}),t._v(" / "),a("a-key",{attrs:{s:"7"}}),t._v(" - move paddle left\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"down"}}),t._v(" / "),a("a-key",{attrs:{s:"3"}}),t._v(" / "),a("a-key",{attrs:{s:"6"}}),t._v(" / "),a("a-key",{attrs:{s:"9"}}),t._v(" - move paddle right\n")],1)])]),t._v(" "),a("h2",{attrs:{id:"chrome-dino"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chrome-dino"}},[t._v("#")]),t._v(" Chrome Dino")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Splash screen")]),t._v(" "),a("th",[t._v("Gameplay")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("img",{attrs:{src:s(430),alt:"Chrome Dino intro"}})]),t._v(" "),a("td",[a("img",{attrs:{src:s(431),alt:"Chrome Dino gameplay"}})])])])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Goal")]),t._v(" "),a("p",[t._v("Control the T-Rex to overcome obstacles. The longer you survive, the higher your score.")])]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("Controls")]),t._v(" "),a("ul",[a("li",[a("a-key",{attrs:{s:"clear"}}),t._v(" - pause game\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"up"}}),t._v(" / "),a("a-key",{attrs:{s:"2"}}),t._v(" - jump\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"down"}}),t._v(" / "),a("a-key",{attrs:{s:"8"}}),t._v(" - duck\n")],1)])]),t._v(" "),a("h2",{attrs:{id:"monogram"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#monogram"}},[t._v("#")]),t._v(" Monogram")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Splash screen")]),t._v(" "),a("th",[t._v("Gameplay")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("img",{attrs:{src:s(432),alt:"Monogram intro"}})]),t._v(" "),a("td",[a("img",{attrs:{src:s(433),alt:"Monogram gameplay"}})])])])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Goal")]),t._v(" "),a("p",[t._v("Leave blank or fill the grid cells until a pixel image appears to advance to the next level.")])]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("Controls")]),t._v(" "),a("ul",[a("li",[a("a-key",{attrs:{s:"clear"}}),t._v(" - pause game\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"2"}}),t._v(" - move the cursor up\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"8"}}),t._v(" - move the cursor down\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"4"}}),t._v(" - move the cursor left\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"6"}}),t._v(" - move the cursor right\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"up"}}),t._v(" - move the cursor to the previous cell\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"down"}}),t._v(" - move the cursor to the next cell\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"navi"}}),t._v(" / "),a("a-key",{attrs:{s:"5"}}),t._v(" - toggle cell fill\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"aste"}}),t._v(" - toggle cell hints (shows the number of filled cells in the row/column)\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"0"}}),t._v(" - reset the grid\n")],1)])])],1)}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{426:function(t,a,s){t.exports=s.p+"assets/img/snake-intro.eb93ba77.png"},427:function(t,a,s){t.exports=s.p+"assets/img/snake-gameplay.17189f88.png"},428:function(t,a,s){t.exports=s.p+"assets/img/brick-intro.9af9d339.png"},429:function(t,a,s){t.exports=s.p+"assets/img/brick-gameplay.e2169365.png"},430:function(t,a,s){t.exports=s.p+"assets/img/dino-intro.0794c934.png"},431:function(t,a,s){t.exports=s.p+"assets/img/dino-gameplay.12ab28dc.png"},432:function(t,a,s){t.exports=s.p+"assets/img/monogram-intro.835a6b4b.png"},433:function(t,a,s){t.exports=s.p+"assets/img/monogram-gameplay.bcc4ca97.png"},555:function(t,a,s){"use strict";s.r(a);var e=s(16),r=Object(e.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"brick-1100-games"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#brick-1100-games"}},[t._v("#")]),t._v(" Brick 1100 Games")]),t._v(" "),a("m-social-links"),t._v(" "),a("h2",{attrs:{id:"snake"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#snake"}},[t._v("#")]),t._v(" Snake")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Splash screen")]),t._v(" "),a("th",[t._v("Gameplay")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("img",{attrs:{src:s(426),alt:"Snake intro"}})]),t._v(" "),a("td",[a("img",{attrs:{src:s(427),alt:"Snake gameplay"}})])])])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Goal")]),t._v(" "),a("p",[t._v("Make the snake grow longer by directing it to the food. The longer the snake gets, the more points you score.")])]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("Controls")]),t._v(" "),a("ul",[a("li",[a("a-key",{attrs:{s:"navi"}}),t._v(" / "),a("a-key",{attrs:{s:"clear"}}),t._v(" - pause game\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"down"}}),t._v(" - move clockwise\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"up"}}),t._v(" - move counter-clockwise\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"2"}}),t._v(" - move up\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"8"}}),t._v(" - move down\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"4"}}),t._v(" - move left\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"6"}}),t._v(" - move right\n")],1)])]),t._v(" "),a("h2",{attrs:{id:"brick-breaker"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#brick-breaker"}},[t._v("#")]),t._v(" Brick Breaker")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Splash screen")]),t._v(" "),a("th",[t._v("Gameplay")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("img",{attrs:{src:s(428),alt:"Brick breaker intro"}})]),t._v(" "),a("td",[a("img",{attrs:{src:s(429),alt:"Brick breaker gameplay"}})])])])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Goal")]),t._v(" "),a("p",[t._v("Clear the screen by breaking all the bricks with the ball to advance to the next level.")])]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("Controls")]),t._v(" "),a("ul",[a("li",[a("a-key",{attrs:{s:"navi"}}),t._v(" / "),a("a-key",{attrs:{s:"clear"}}),t._v(" - pause game\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"up"}}),t._v(" / "),a("a-key",{attrs:{s:"1"}}),t._v(" / "),a("a-key",{attrs:{s:"4"}}),t._v(" / "),a("a-key",{attrs:{s:"7"}}),t._v(" - move paddle left\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"down"}}),t._v(" / "),a("a-key",{attrs:{s:"3"}}),t._v(" / "),a("a-key",{attrs:{s:"6"}}),t._v(" / "),a("a-key",{attrs:{s:"9"}}),t._v(" - move paddle right\n")],1)])]),t._v(" "),a("h2",{attrs:{id:"chrome-dino"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#chrome-dino"}},[t._v("#")]),t._v(" Chrome Dino")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Splash screen")]),t._v(" "),a("th",[t._v("Gameplay")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("img",{attrs:{src:s(430),alt:"Chrome Dino intro"}})]),t._v(" "),a("td",[a("img",{attrs:{src:s(431),alt:"Chrome Dino gameplay"}})])])])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Goal")]),t._v(" "),a("p",[t._v("Control the T-Rex to overcome obstacles. The longer you survive, the higher your score.")])]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("Controls")]),t._v(" "),a("ul",[a("li",[a("a-key",{attrs:{s:"clear"}}),t._v(" - pause game\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"up"}}),t._v(" / "),a("a-key",{attrs:{s:"2"}}),t._v(" - jump\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"down"}}),t._v(" / "),a("a-key",{attrs:{s:"8"}}),t._v(" - duck\n")],1)])]),t._v(" "),a("h2",{attrs:{id:"monogram"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#monogram"}},[t._v("#")]),t._v(" Monogram")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("Splash screen")]),t._v(" "),a("th",[t._v("Gameplay")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[a("img",{attrs:{src:s(432),alt:"Monogram intro"}})]),t._v(" "),a("td",[a("img",{attrs:{src:s(433),alt:"Monogram gameplay"}})])])])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("Goal")]),t._v(" "),a("p",[t._v("Leave blank or fill the grid cells until a pixel image appears to advance to the next level.")])]),t._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[t._v("Controls")]),t._v(" "),a("ul",[a("li",[a("a-key",{attrs:{s:"clear"}}),t._v(" - pause game\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"2"}}),t._v(" - move the cursor up\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"8"}}),t._v(" - move the cursor down\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"4"}}),t._v(" - move the cursor left\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"6"}}),t._v(" - move the cursor right\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"up"}}),t._v(" - move the cursor to the previous cell\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"down"}}),t._v(" - move the cursor to the next cell\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"navi"}}),t._v(" / "),a("a-key",{attrs:{s:"5"}}),t._v(" - toggle cell fill\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"aste"}}),t._v(" - toggle cell hints (shows the number of filled cells in the row/column)\n")],1),t._v(" "),a("li",[a("a-key",{attrs:{s:"0"}}),t._v(" - reset the grid\n")],1)])])],1)}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/40.ab0b733f.js b/assets/js/40.552ce034.js similarity index 78% rename from assets/js/40.ab0b733f.js rename to assets/js/40.552ce034.js index 82e10b0e..1a78789d 100644 --- a/assets/js/40.ab0b733f.js +++ b/assets/js/40.552ce034.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{359:function(t,a,e){},462:function(t,a,e){"use strict";e(359)},515:function(t,a,e){"use strict";e.r(a);var r={props:{blogs:Array},methods:{getImage(t){var a;return null===(a=t.frontmatter.meta.find(t=>"image"===t.itemprop))||void 0===a?void 0:a.content}}},s=(e(462),e(16)),n=Object(s.a)(r,(function(){var t=this,a=t._self._c;return a("ul",{staticClass:"blog-links"},t._l(t.blogs,(function(e){return a("li",{key:e.key},[a("router-link",{attrs:{to:e.path}},[a("span",{staticClass:"blog-image"},[a("img",{attrs:{src:t.getImage(e),alt:e.title}})]),t._v(" "),a("h2",[t._v(t._s(e.title))]),t._v(" "),a("a-created",{attrs:{date:e.firstCreated}}),t._v(" "),a("p",[t._v(t._s(e.frontmatter.description))])],1),t._v(" "),a("m-blog-tag-list",{attrs:{tags:e.frontmatter.tag}})],1)})),0)}),[],!1,null,"bb2a7418",null);a.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{358:function(t,a,e){},461:function(t,a,e){"use strict";e(358)},514:function(t,a,e){"use strict";e.r(a);var r={props:{blogs:Array},methods:{getImage(t){var a;return null===(a=t.frontmatter.meta.find(t=>"image"===t.itemprop))||void 0===a?void 0:a.content}}},s=(e(461),e(16)),n=Object(s.a)(r,(function(){var t=this,a=t._self._c;return a("ul",{staticClass:"blog-links"},t._l(t.blogs,(function(e){return a("li",{key:e.key},[a("router-link",{attrs:{to:e.path}},[a("span",{staticClass:"blog-image"},[a("img",{attrs:{src:t.getImage(e),alt:e.title}})]),t._v(" "),a("h2",[t._v(t._s(e.title))]),t._v(" "),a("a-created",{attrs:{date:e.firstCreated}}),t._v(" "),a("p",[t._v(t._s(e.frontmatter.description))])],1),t._v(" "),a("m-blog-tag-list",{attrs:{tags:e.frontmatter.tag}})],1)})),0)}),[],!1,null,"bb2a7418",null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/41.07f7f8e0.js b/assets/js/41.07f7f8e0.js deleted file mode 100644 index dbe8b253..00000000 --- a/assets/js/41.07f7f8e0.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{358:function(t,n,s){},461:function(t,n,s){"use strict";s(358)},514:function(t,n,s){"use strict";s.r(n);var i={},c=(s(461),s(16)),a=Object(c.a)(i,(function(){var t=this._self._c;return t("div",{staticClass:"blog-meta"},[t("a-created"),this._v(" "),t("m-social-links")],1)}),[],!1,null,"37d0b7b8",null);n.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/41.9d54aced.js b/assets/js/41.9d54aced.js new file mode 100644 index 00000000..a6be7c1f --- /dev/null +++ b/assets/js/41.9d54aced.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{359:function(t,n,s){},462:function(t,n,s){"use strict";s(359)},515:function(t,n,s){"use strict";s.r(n);var i={},c=(s(462),s(16)),a=Object(c.a)(i,(function(){var t=this._self._c;return t("div",{staticClass:"blog-meta"},[t("a-created"),this._v(" "),t("m-social-links")],1)}),[],!1,null,"37d0b7b8",null);n.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/48.ff95ac4a.js b/assets/js/48.bf1e8025.js similarity index 97% rename from assets/js/48.ff95ac4a.js rename to assets/js/48.bf1e8025.js index abc3c30c..9e1f40e0 100644 --- a/assets/js/48.ff95ac4a.js +++ b/assets/js/48.bf1e8025.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{404:function(e,t,a){e.exports=a.p+"assets/img/win7-simu-dau.3e6d196c.png"},405:function(e,t,a){e.exports=a.p+"assets/img/homepage-dau.e246c522.png"},536:function(e,t,a){"use strict";a.r(t);var o=a(16),i=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"turning-my-side-project-into-a-side-hustle"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#turning-my-side-project-into-a-side-hustle"}},[e._v("#")]),e._v(" Turning my side project into a side hustle")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ=",alt:"Side hustle cash"}})]),e._v(" "),t("p",[e._v("Today is November 11, 2023, it has been a year since I wrote my previous blog post "),t("RouterLink",{attrs:{to:"/blog/building-win7-simu.html"}},[e._v("sharing how I built Win7 Simu")]),e._v(" to celebrate a milestone of 5M Google Play downloads. We are now at "),t("strong",[e._v("10M downloads")]),e._v(" and again, to celebrate this milestone, I decided to sit down and write another blog post to share about how this "),t("s",[e._v("silly")]),e._v(" side project has turned into a side hustle and has been generating a decent amount of recurring revenue for me since. Yes, we are talking about "),t("em",[e._v("money")]),e._v(" here, a sensitive topic, but somehow I feel that it may be interesting, with some of the learnings that I have had along the way may be useful to you. However, bear in mind that what you are about to read is "),t("strong",[e._v("subjective")]),e._v(" and based on my own experience, so you are welcome to read with a grain of salt.")],1),e._v(" "),t("h2",{attrs:{id:"the-beginning"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-beginning"}},[e._v("#")]),e._v(" The beginning")]),e._v(" "),t("h3",{attrs:{id:"the-idea-that-started-it-all"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-idea-that-started-it-all"}},[e._v("#")]),e._v(" The idea that started it all")]),e._v(" "),t("p",[e._v("I highly recommend reading "),t("RouterLink",{attrs:{to:"/blog/building-win7-simu.html"}},[e._v("my previous post")]),e._v(" first if you haven't to get to know more about this silly project and how it started, but if you don't want to, here is a brief summary:")],1),e._v(" "),t("p",[e._v("I had an idea of cloning Windows 7 UI to the web way back in mid-2019, to learn about front-end development. It was merely a code playground for me to learn and experiment and was rewritten a couple of times. The last rewrite attempt was in early 2020 using certain "),t("RouterLink",{attrs:{to:"/blog/building-win7-simu.html#the-tech-stack"}},[e._v("popular web techs")]),e._v(" at that time, and I decided to publish it to Google Play as an Android app. It somehow got popular and has received a lot of downloads and positive feedback. Since then, I have been pushing it further by rolling out new features and updates regularly.")],1),e._v(" "),t("p",[e._v("Till now, the app has had a total of "),t("strong",[e._v("10M downloads")]),e._v(" and approximately "),t("strong",[e._v("50K daily active users")]),e._v(", which can be easily considered a success for a side project. But do you know what makes it appear even more successful to me? It's the fact that it also generates some recurring revenue, monthly, stably, and kind of passively.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(404),alt:"Win7 Simu's daily active users stats"}})]),e._v(" "),t("a-google-ad"),e._v(" "),t("h3",{attrs:{id:"building-the-surroundings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#building-the-surroundings"}},[e._v("#")]),e._v(" Building the surroundings")]),e._v(" "),t("p",[e._v("After recognizing its potential, I decided to invest more time and effort into the project. With Win7 Simu at the center, I started to build the surroundings, things that I believe would help me grow this project into a brand and eventually turn it into a side hustle. Below are a couple of things that I have done so far.")]),e._v(" "),t("p",[t("strong",[e._v("Homepage + Blog")]),e._v(" ("),t("em",[t("strong",[e._v("visnalize.com")])]),e._v(") - this idea came to me as Google Play required me to provide a privacy policy URL for the app when I tried publishing it to their store. I decided to build a simple homepage for it with little to no content at the beginning, but it has been growing since then, from an average of barely 300 to more than 1000 daily active users. The homepage is now the place where I share more about my projects, the stories behind and some of the learnings I have had along the way.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(405),alt:"Homepage daily active users stats"}})]),e._v(" "),t("p",[t("em",[e._v("Homepage daily active users growth over time")])]),e._v(" "),t("p",[t("a",{attrs:{href:"https://www.youtube.com/@visnalize",target:"_blank",rel:"noopener noreferrer"}},[t("strong",[e._v("YouTube channel")]),t("OutboundLink")],1),e._v(" - this idea, again, came to me only as Google Play required me to provide a YouTube trailer video for the app. Although I have had this channel for a while, I didn't really use it until then. After the trailer video for Win7 Simu, I started to upload more videos, still mostly revolving around the app, but also some other kinds of content that I think would be interesting to the viewers, but none of them has been seen as successful as the Win7 Simu-related ones. Since the beginning, the channel has been growing steadily, currently with more than 7200 subscribers and 100K+ monthly views. If you are interested, here is a video sharing more in-depth about the channel's growth:")]),e._v(" "),t("p"),t("div",{staticClass:"embed-responsive embed-responsive-16by9"},[t("iframe",{staticClass:"embed-responsive-item youtube-player",attrs:{type:"text/html",width:"640",height:"390",src:"https://www.youtube.com/embed/s6LfrKvq8n4",frameborder:"0",webkitallowfullscreen:"",mozallowfullscreen:"",allowfullscreen:""}})]),t("p"),e._v(" "),t("p",[t("strong",[e._v("Social networks")]),e._v(" ("),t("a",{attrs:{href:"https://github.com/visnalize",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://twitter.com/visnalize",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://www.facebook.com/visnalize",target:"_blank",rel:"noopener noreferrer"}},[e._v("Facebook"),t("OutboundLink")],1),e._v(") - at some point after growing the homepage and the YouTube channel to a certain extent, I decided to expand to other social networks to gain more exposure and reach more people. Although the growth has been slow and the results are gloomy looking, I believe it is still worth the effort as it is not too time-consuming and the potential is still there.")]),e._v(" "),t("h2",{attrs:{id:"a-diverse-revenue-model"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a-diverse-revenue-model"}},[e._v("#")]),e._v(" A diverse revenue model")]),e._v(" "),t("p",[e._v("Let's get to the main topic of this post, the revenue model. I have been trying out different ways to monetize the project, and here are some of them.")]),e._v(" "),t("h3",{attrs:{id:"ads"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ads"}},[e._v("#")]),e._v(" Ads")]),e._v(" "),t("blockquote",[t("p",[t("em",[e._v("Recommended read: "),t("RouterLink",{attrs:{to:"/blog/about-the-ads.html"}},[e._v("About the ads and how I implement them")])],1)])]),e._v(" "),t("p",[e._v("Due to the nature of the project, I thought that ads would be the most suitable way to monetize it. For the app version of Win7 Simu, I started out with "),t("strong",[e._v("Google Admob")]),e._v(", which appears to be the most popular ad network for mobile apps, however, due to certain issues with the network, I switched to "),t("strong",[e._v("Applovin")]),e._v(", which has been working well so far. For its web version, I have been using "),t("strong",[e._v("Google Adsense")]),e._v(" and it has been working well so far. Although at the beginning, I also had some problems setting it up due to the fact that Adsense is not designed and supported for web apps, but I managed to find a way around it by getting this homepage approved first, then I can serve ads on the web app as well, thanks to it being hosted on a subdomain of this homepage.")]),e._v(" "),t("p",[e._v("Some time later, I tried out the mediation feature of Applovin, which allows me to serve ads from whichever ad network that offers the highest eCPM (effective cost per mille) rate. Since using mediation, I have been seeing a significant boost in revenue by partnering with several external ad networks such as "),t("strong",[e._v("VDO.AI")]),e._v(", "),t("strong",[e._v("Appbroda")]),e._v(", and even "),t("strong",[e._v("Admob")]),e._v(", which I was unable to use their service as the primary platform. And until now, ads have been the main source of revenue for this project.")]),e._v(" "),t("p",[e._v("Aside from the mobile and web versions of Win7 Simu, I have also been serving ads on the homepage and turning on monetization for the YouTube channel. Although the revenue from these sources is not much, it is still a great addition to the overall revenue.")]),e._v(" "),t("h3",{attrs:{id:"subscriptions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#subscriptions"}},[e._v("#")]),e._v(" Subscriptions")]),e._v(" "),t("p",[e._v("After seeing the positive revenue outputs from ads, and having received much feedback from users, I added a subscription feature to Win7 Simu's app version using "),t("strong",[e._v("Google Play Billing")]),e._v(" to allow users to experience the app without interruption by removing ads. The subscription is simple, having only 2 options available: monthly and yearly, with affordable prices. I honestly never expected it to be well-received, but it turned out to be working well, with a decent amount of subscribers and recurring revenue so far.")]),e._v(" "),t("p",[e._v("Likewise, I also added a subscription feature to the web version of Win7 Simu via "),t("strong",[e._v("Patreon")]),e._v(", which is a popular platform for creators to get paid by their fans/users. Despite the outlook not looking as positive as the app version, I still learned something there, and the experience can be useful for future projects.")]),e._v(" "),t("h3",{attrs:{id:"partnerships"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#partnerships"}},[e._v("#")]),e._v(" Partnerships")]),e._v(" "),t("p",[e._v("The last revenue source that I have had my hands on is new and unique in its own way (or rather unpopular in my opinion). It is a partnership with "),t("strong",[e._v("Gamezop")]),e._v(', a gaming platform that any websites/web apps can integrate to bring casual games for their users. The so-called "integration" is rather simple in my case, all I needed to do was just add a banner/icon in my app that leads to the Gamezop platform where my users can play a wide range of casual games. Half of the ad revenue generated from the platform would then be shared with me. The shared revenue is nowhere near the amount that I get from the main revenue source, but it still has been decently and consistently contributing to the overall revenue.')]),e._v(" "),t("a-google-ad"),e._v(" "),t("h2",{attrs:{id:"disclosing-the-numbers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#disclosing-the-numbers"}},[e._v("#")]),e._v(" Disclosing the numbers")]),e._v(" "),t("p",[e._v('"I don\'t give a sh*t about your story, just show me the numbers" - if that is what you are thinking, then I will cut to the chase and show you the numbers. Below is a list of the MRR (monthly recurring revenue) breakdown for all of the revenue sources that I have mentioned above from the latest month (October 2023).')]),e._v(" "),t("ul",[t("li",[e._v("Ads:\n"),t("ul",[t("li",[e._v("Applovin: "),t("strong",[e._v("~400$")])]),e._v(" "),t("li",[e._v("Admob: "),t("strong",[e._v("~300$")])]),e._v(" "),t("li",[e._v("VDO: "),t("strong",[e._v("~60$")])]),e._v(" "),t("li",[e._v("Appbroda: "),t("strong",[e._v("~40$")])]),e._v(" "),t("li",[e._v("Adsense: "),t("strong",[e._v("~300$")])])])]),e._v(" "),t("li",[e._v("Subscriptions:\n"),t("ul",[t("li",[e._v("In-app purchase: "),t("strong",[e._v("~200$")])]),e._v(" "),t("li",[e._v("Patreon: "),t("strong",[e._v("1.67$")])])])]),e._v(" "),t("li",[e._v("Partnership (Gamezop): "),t("strong",[e._v("~20$")])])]),e._v(" "),t("p",[e._v("In total, after subtracting all the costs and expenses, the MRR is around "),t("strong",[e._v("1000$")]),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"final-thoughts"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#final-thoughts"}},[e._v("#")]),e._v(" Final thoughts")]),e._v(" "),t("p",[e._v("So how do you feel about that number? Is it a lot? Is it just a little? The answer likely depends on from which part of the world you are looking at it, but for me, it is a lot, especially for something that I started out as a side project for learning. With that said, it is still unlikely that I will receive this exact amount every month, there might be ups and downs, there might be happy days when I receive more, and there might be a chance I lose it all like waking up from a sweet dream, but I am still happy with what I have achieved so far.")]),e._v(" "),t("p",[e._v("A few key takeaways that you may find useful from my story:")]),e._v(" "),t("ul",[t("li",[e._v("I was lucky to be able to turn my learning process into a side project, and eventually a side hustle.")]),e._v(" "),t("li",[e._v("I diversified the revenue sources to minimize the risk of losing it all and to maximize the potential of earning more.")]),e._v(" "),t("li",[e._v("I kept grinding and pushing it further, even when I didn't feel like it, and it paid off.")]),e._v(" "),t("li",[e._v("I was, I am, and I will still learning, and applying what I learned to make good use of every opportunity.")])]),e._v(" "),t("p",[e._v("And as I said at the beginning of this post, this is a very subjective story, what worked out for me may not work out for you, and even this little success might not repeat itself for my other projects. But I hope through this post, you have learned something new and useful, and I wish you all the best with your projects.")]),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{408:function(e,t,a){e.exports=a.p+"assets/img/win7-simu-dau.3e6d196c.png"},409:function(e,t,a){e.exports=a.p+"assets/img/homepage-dau.e246c522.png"},537:function(e,t,a){"use strict";a.r(t);var o=a(16),i=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"turning-my-side-project-into-a-side-hustle"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#turning-my-side-project-into-a-side-hustle"}},[e._v("#")]),e._v(" Turning my side project into a side hustle")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ=",alt:"Side hustle cash"}})]),e._v(" "),t("p",[e._v("Today is November 11, 2023, it has been a year since I wrote my previous blog post "),t("RouterLink",{attrs:{to:"/blog/building-win7-simu.html"}},[e._v("sharing how I built Win7 Simu")]),e._v(" to celebrate a milestone of 5M Google Play downloads. We are now at "),t("strong",[e._v("10M downloads")]),e._v(" and again, to celebrate this milestone, I decided to sit down and write another blog post to share about how this "),t("s",[e._v("silly")]),e._v(" side project has turned into a side hustle and has been generating a decent amount of recurring revenue for me since. Yes, we are talking about "),t("em",[e._v("money")]),e._v(" here, a sensitive topic, but somehow I feel that it may be interesting, with some of the learnings that I have had along the way may be useful to you. However, bear in mind that what you are about to read is "),t("strong",[e._v("subjective")]),e._v(" and based on my own experience, so you are welcome to read with a grain of salt.")],1),e._v(" "),t("h2",{attrs:{id:"the-beginning"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-beginning"}},[e._v("#")]),e._v(" The beginning")]),e._v(" "),t("h3",{attrs:{id:"the-idea-that-started-it-all"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-idea-that-started-it-all"}},[e._v("#")]),e._v(" The idea that started it all")]),e._v(" "),t("p",[e._v("I highly recommend reading "),t("RouterLink",{attrs:{to:"/blog/building-win7-simu.html"}},[e._v("my previous post")]),e._v(" first if you haven't to get to know more about this silly project and how it started, but if you don't want to, here is a brief summary:")],1),e._v(" "),t("p",[e._v("I had an idea of cloning Windows 7 UI to the web way back in mid-2019, to learn about front-end development. It was merely a code playground for me to learn and experiment and was rewritten a couple of times. The last rewrite attempt was in early 2020 using certain "),t("RouterLink",{attrs:{to:"/blog/building-win7-simu.html#the-tech-stack"}},[e._v("popular web techs")]),e._v(" at that time, and I decided to publish it to Google Play as an Android app. It somehow got popular and has received a lot of downloads and positive feedback. Since then, I have been pushing it further by rolling out new features and updates regularly.")],1),e._v(" "),t("p",[e._v("Till now, the app has had a total of "),t("strong",[e._v("10M downloads")]),e._v(" and approximately "),t("strong",[e._v("50K daily active users")]),e._v(", which can be easily considered a success for a side project. But do you know what makes it appear even more successful to me? It's the fact that it also generates some recurring revenue, monthly, stably, and kind of passively.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(408),alt:"Win7 Simu's daily active users stats"}})]),e._v(" "),t("a-google-ad"),e._v(" "),t("h3",{attrs:{id:"building-the-surroundings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#building-the-surroundings"}},[e._v("#")]),e._v(" Building the surroundings")]),e._v(" "),t("p",[e._v("After recognizing its potential, I decided to invest more time and effort into the project. With Win7 Simu at the center, I started to build the surroundings, things that I believe would help me grow this project into a brand and eventually turn it into a side hustle. Below are a couple of things that I have done so far.")]),e._v(" "),t("p",[t("strong",[e._v("Homepage + Blog")]),e._v(" ("),t("em",[t("strong",[e._v("visnalize.com")])]),e._v(") - this idea came to me as Google Play required me to provide a privacy policy URL for the app when I tried publishing it to their store. I decided to build a simple homepage for it with little to no content at the beginning, but it has been growing since then, from an average of barely 300 to more than 1000 daily active users. The homepage is now the place where I share more about my projects, the stories behind and some of the learnings I have had along the way.")]),e._v(" "),t("p",[t("img",{attrs:{src:a(409),alt:"Homepage daily active users stats"}})]),e._v(" "),t("p",[t("em",[e._v("Homepage daily active users growth over time")])]),e._v(" "),t("p",[t("a",{attrs:{href:"https://www.youtube.com/@visnalize",target:"_blank",rel:"noopener noreferrer"}},[t("strong",[e._v("YouTube channel")]),t("OutboundLink")],1),e._v(" - this idea, again, came to me only as Google Play required me to provide a YouTube trailer video for the app. Although I have had this channel for a while, I didn't really use it until then. After the trailer video for Win7 Simu, I started to upload more videos, still mostly revolving around the app, but also some other kinds of content that I think would be interesting to the viewers, but none of them has been seen as successful as the Win7 Simu-related ones. Since the beginning, the channel has been growing steadily, currently with more than 7200 subscribers and 100K+ monthly views. If you are interested, here is a video sharing more in-depth about the channel's growth:")]),e._v(" "),t("p"),t("div",{staticClass:"embed-responsive embed-responsive-16by9"},[t("iframe",{staticClass:"embed-responsive-item youtube-player",attrs:{type:"text/html",width:"640",height:"390",src:"https://www.youtube.com/embed/s6LfrKvq8n4",frameborder:"0",webkitallowfullscreen:"",mozallowfullscreen:"",allowfullscreen:""}})]),t("p"),e._v(" "),t("p",[t("strong",[e._v("Social networks")]),e._v(" ("),t("a",{attrs:{href:"https://github.com/visnalize",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://twitter.com/visnalize",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"https://www.facebook.com/visnalize",target:"_blank",rel:"noopener noreferrer"}},[e._v("Facebook"),t("OutboundLink")],1),e._v(") - at some point after growing the homepage and the YouTube channel to a certain extent, I decided to expand to other social networks to gain more exposure and reach more people. Although the growth has been slow and the results are gloomy looking, I believe it is still worth the effort as it is not too time-consuming and the potential is still there.")]),e._v(" "),t("h2",{attrs:{id:"a-diverse-revenue-model"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a-diverse-revenue-model"}},[e._v("#")]),e._v(" A diverse revenue model")]),e._v(" "),t("p",[e._v("Let's get to the main topic of this post, the revenue model. I have been trying out different ways to monetize the project, and here are some of them.")]),e._v(" "),t("h3",{attrs:{id:"ads"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ads"}},[e._v("#")]),e._v(" Ads")]),e._v(" "),t("blockquote",[t("p",[t("em",[e._v("Recommended read: "),t("RouterLink",{attrs:{to:"/blog/about-the-ads.html"}},[e._v("About the ads and how I implement them")])],1)])]),e._v(" "),t("p",[e._v("Due to the nature of the project, I thought that ads would be the most suitable way to monetize it. For the app version of Win7 Simu, I started out with "),t("strong",[e._v("Google Admob")]),e._v(", which appears to be the most popular ad network for mobile apps, however, due to certain issues with the network, I switched to "),t("strong",[e._v("Applovin")]),e._v(", which has been working well so far. For its web version, I have been using "),t("strong",[e._v("Google Adsense")]),e._v(" and it has been working well so far. Although at the beginning, I also had some problems setting it up due to the fact that Adsense is not designed and supported for web apps, but I managed to find a way around it by getting this homepage approved first, then I can serve ads on the web app as well, thanks to it being hosted on a subdomain of this homepage.")]),e._v(" "),t("p",[e._v("Some time later, I tried out the mediation feature of Applovin, which allows me to serve ads from whichever ad network that offers the highest eCPM (effective cost per mille) rate. Since using mediation, I have been seeing a significant boost in revenue by partnering with several external ad networks such as "),t("strong",[e._v("VDO.AI")]),e._v(", "),t("strong",[e._v("Appbroda")]),e._v(", and even "),t("strong",[e._v("Admob")]),e._v(", which I was unable to use their service as the primary platform. And until now, ads have been the main source of revenue for this project.")]),e._v(" "),t("p",[e._v("Aside from the mobile and web versions of Win7 Simu, I have also been serving ads on the homepage and turning on monetization for the YouTube channel. Although the revenue from these sources is not much, it is still a great addition to the overall revenue.")]),e._v(" "),t("h3",{attrs:{id:"subscriptions"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#subscriptions"}},[e._v("#")]),e._v(" Subscriptions")]),e._v(" "),t("p",[e._v("After seeing the positive revenue outputs from ads, and having received much feedback from users, I added a subscription feature to Win7 Simu's app version using "),t("strong",[e._v("Google Play Billing")]),e._v(" to allow users to experience the app without interruption by removing ads. The subscription is simple, having only 2 options available: monthly and yearly, with affordable prices. I honestly never expected it to be well-received, but it turned out to be working well, with a decent amount of subscribers and recurring revenue so far.")]),e._v(" "),t("p",[e._v("Likewise, I also added a subscription feature to the web version of Win7 Simu via "),t("strong",[e._v("Patreon")]),e._v(", which is a popular platform for creators to get paid by their fans/users. Despite the outlook not looking as positive as the app version, I still learned something there, and the experience can be useful for future projects.")]),e._v(" "),t("h3",{attrs:{id:"partnerships"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#partnerships"}},[e._v("#")]),e._v(" Partnerships")]),e._v(" "),t("p",[e._v("The last revenue source that I have had my hands on is new and unique in its own way (or rather unpopular in my opinion). It is a partnership with "),t("strong",[e._v("Gamezop")]),e._v(', a gaming platform that any websites/web apps can integrate to bring casual games for their users. The so-called "integration" is rather simple in my case, all I needed to do was just add a banner/icon in my app that leads to the Gamezop platform where my users can play a wide range of casual games. Half of the ad revenue generated from the platform would then be shared with me. The shared revenue is nowhere near the amount that I get from the main revenue source, but it still has been decently and consistently contributing to the overall revenue.')]),e._v(" "),t("a-google-ad"),e._v(" "),t("h2",{attrs:{id:"disclosing-the-numbers"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#disclosing-the-numbers"}},[e._v("#")]),e._v(" Disclosing the numbers")]),e._v(" "),t("p",[e._v('"I don\'t give a sh*t about your story, just show me the numbers" - if that is what you are thinking, then I will cut to the chase and show you the numbers. Below is a list of the MRR (monthly recurring revenue) breakdown for all of the revenue sources that I have mentioned above from the latest month (October 2023).')]),e._v(" "),t("ul",[t("li",[e._v("Ads:\n"),t("ul",[t("li",[e._v("Applovin: "),t("strong",[e._v("~400$")])]),e._v(" "),t("li",[e._v("Admob: "),t("strong",[e._v("~300$")])]),e._v(" "),t("li",[e._v("VDO: "),t("strong",[e._v("~60$")])]),e._v(" "),t("li",[e._v("Appbroda: "),t("strong",[e._v("~40$")])]),e._v(" "),t("li",[e._v("Adsense: "),t("strong",[e._v("~300$")])])])]),e._v(" "),t("li",[e._v("Subscriptions:\n"),t("ul",[t("li",[e._v("In-app purchase: "),t("strong",[e._v("~200$")])]),e._v(" "),t("li",[e._v("Patreon: "),t("strong",[e._v("1.67$")])])])]),e._v(" "),t("li",[e._v("Partnership (Gamezop): "),t("strong",[e._v("~20$")])])]),e._v(" "),t("p",[e._v("In total, after subtracting all the costs and expenses, the MRR is around "),t("strong",[e._v("1000$")]),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"final-thoughts"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#final-thoughts"}},[e._v("#")]),e._v(" Final thoughts")]),e._v(" "),t("p",[e._v("So how do you feel about that number? Is it a lot? Is it just a little? The answer likely depends on from which part of the world you are looking at it, but for me, it is a lot, especially for something that I started out as a side project for learning. With that said, it is still unlikely that I will receive this exact amount every month, there might be ups and downs, there might be happy days when I receive more, and there might be a chance I lose it all like waking up from a sweet dream, but I am still happy with what I have achieved so far.")]),e._v(" "),t("p",[e._v("A few key takeaways that you may find useful from my story:")]),e._v(" "),t("ul",[t("li",[e._v("I was lucky to be able to turn my learning process into a side project, and eventually a side hustle.")]),e._v(" "),t("li",[e._v("I diversified the revenue sources to minimize the risk of losing it all and to maximize the potential of earning more.")]),e._v(" "),t("li",[e._v("I kept grinding and pushing it further, even when I didn't feel like it, and it paid off.")]),e._v(" "),t("li",[e._v("I was, I am, and I will still learning, and applying what I learned to make good use of every opportunity.")])]),e._v(" "),t("p",[e._v("And as I said at the beginning of this post, this is a very subjective story, what worked out for me may not work out for you, and even this little success might not repeat itself for my other projects. But I hope through this post, you have learned something new and useful, and I wish you all the best with your projects.")]),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/49.cab4177b.js b/assets/js/49.fa10c801.js similarity index 96% rename from assets/js/49.cab4177b.js rename to assets/js/49.fa10c801.js index b107b7ab..66d7abc5 100644 --- a/assets/js/49.cab4177b.js +++ b/assets/js/49.fa10c801.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{417:function(e,t,o){e.exports=o.p+"assets/img/win7-simu-computer.b9265f50.png"},418:function(e,t,o){e.exports=o.p+"assets/img/win7-simu-indexeddb.f8841da2.png"},544:function(e,t,o){"use strict";o.r(t);var i=o(16),a=Object(i.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"implementing-file-explorer-in-win7-simu"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#implementing-file-explorer-in-win7-simu"}},[e._v("#")]),e._v(" Implementing File Explorer in Win7 Simu")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80",alt:"Files and folders"}})]),e._v(" "),t("p",[t("em",[e._v("Cover image by Viktor Talashuk via "),t("a",{attrs:{href:"https://unsplash.com/photos/05HLFQu8bFw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Unsplash"),t("OutboundLink")],1)])]),e._v(" "),t("p",[t("strong",[e._v("File Explorer")]),e._v(" has always been one of the vital features in any operating system, as a Windows simulator, to no surprise that it's also among the most demanded features to be added in Win7 Simu. However, I have been procrastinating its implementation as, besides my skillset limitations, there are quite a lot of complexities and technical constraints involved. Now that I have finally been able to implement it properly, let's read through some technical decisions I made and how it deviates from the actual File Explorer of Windows.")]),e._v(" "),t("h2",{attrs:{id:"some-difficulties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#some-difficulties"}},[e._v("#")]),e._v(" Some difficulties")]),e._v(" "),t("ul",[t("li",[t("em",[e._v("Self-skillset limitation")]),e._v(" - as this simulator has been a work of a one-man development team, sometimes it is tough when you get stuck and there is nobody to support, or at least just to talk it out")]),e._v(" "),t("li",[t("em",[e._v("Work-life balance disruption")]),e._v(" - as I have a family and a 9-to-5 job, trying to find a time slot in between for hobbyist projects is tough")]),e._v(" "),t("li",[t("em",[e._v("Disheartening moments")]),e._v(" - having to spend a long long time working on something out of your capability, and stay committed to it is also tough")]),e._v(" "),t("li",[t("em",[e._v("Too many unknowns")]),e._v(" - libraries, frameworks, techs, platforms, devices, or even just the languages you are not in control may slow you down, kill your time and still you couldn't figure out how to resolve the issue.")])]),e._v(" "),t("p",[e._v("Yes, those are, but not all the difficulties I have been dealing with when developing the File Explorer functionalities, or in general, this simulator. Just a little bit of a sharing before we get into the technical stuff, so you may know that there is no shortcut to achievements.")]),e._v(" "),t("p",[e._v("Despite only a few capabilities being rolled out for the File Explorer in "),t("RouterLink",{attrs:{to:"/win7simu/changelog.html#_3-0-0-may-20-2023"}},[e._v("v3.0.0")]),e._v(", it actually took me months to come up, put the stuff together, and do thorough testing before releasing to you. It was not easy, at all, with several late nights and weekends burned onto it, having to face constant challenges and struggling to break through my own limits. However, the hard work finally paid off, it has come to fruition 😌")],1),e._v(" "),t("h2",{attrs:{id:"implementing-the-file-explorer-functionalities"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#implementing-the-file-explorer-functionalities"}},[e._v("#")]),e._v(" Implementing the File Explorer functionalities")]),e._v(" "),t("p",[t("img",{attrs:{src:o(417),alt:"Win7 Simu File Explorer"}})]),e._v(" "),t("p",[e._v("In v3.0.0, the minimum viable version of File Explorer supports basic operations on files and folders such as creating, opening, editing, renaming, moving, copying, and pasting. And an integral part of this is the trash/delete mechanism which is also supported. As the simulator has to support both Web and Android platforms, there are some challenges to solve for each, and the implementation approach also differs. I will break down some key notes for each.")]),e._v(" "),t("a-google-ad"),e._v(" "),t("h3",{attrs:{id:"implementation-for-android"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#implementation-for-android"}},[e._v("#")]),e._v(" Implementation for Android")]),e._v(" "),t("p",[e._v("With Android already having its own file management system to help organize and manage data from memory cards, I only needed to leverage this capability and hook up to Win7 Simu. However, as easy as it may sound, for someone who has very little knowledge of any programming languages other than JavaScript, it was time-consuming to be able to write a simple piece of code that just works without many issues.")]),e._v(" "),t("p",[e._v("Anyway, the key thing I'm trying to get across here is that, as an operating system, Android has its own way of organizing files and folders, where there is no concept of disk drives or the like as in Windows. And to make it worse, even the different Android versions have a slight difference to handle this among themselves 🤦‍♂️ Therefore, to mimic the disk-drive-driven structure, I needed to build a tree hierarchy from the app directory (a user-friendly path is something like: "),t("code",[e._v("Android/data/win7simu.visnalize.com/files")]),e._v("), which does not require any permission to perform read/write operations on, in case you are doubtful to grant this app access to your data. To put it simply, the app directory acts as the File Explorer system root, with the path hierarchy as follows:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Android/data/win7simu.visnalize.com/files\n└── computer/\n └── drive0/\n ├── Program Files/\n ├── Users/\n │ ├── Guest\n │ │ ├── AppData\n │ │ │ └── Roaming\n │ │ │ └── Visnalize\n │ │ │ └── Windows\n │ │ │ └── RecycleBin\n │ │ ├── Downloads\n │ │ ├── Music\n │ │ └── Videos\n │ └── \n │ ├── AppData\n │ ├── Desktop\n │ └── ...\n └── Windows/\n")])])]),t("p",[e._v("Moreover, there is a separate Android drive where you can access all the data available from the root of the memory card. However, due to the strict permission policies, an app is only allowed a certain level of access to the data outside of that app's directory, especially on later Android versions, so please do not expect the Win7 Simu's File Explorer to be as robust as the system default one. Ultimately, its sole purpose is not to be a complete functional emulator, but just to experience, to explore certain limited simulated features of Windows 7.")]),e._v(" "),t("h3",{attrs:{id:"implementation-for-web"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#implementation-for-web"}},[e._v("#")]),e._v(" Implementation for Web")]),e._v(" "),t("p",[e._v("For the Web, the approach was literally built from the ground up, with the IndexedDB API utilized as the source for storing the item paths and organizing them into a hierarchical tree. "),t("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API",target:"_blank",rel:"noopener noreferrer"}},[e._v("IndexedDB"),t("OutboundLink")],1),e._v(" is a powerful solution that allows storing large amounts of data with high-performance search capability based on indexed keys. If you're a curious person with some coding experience, you may check out the web version of Win7 Simu from the dev tools and you may see something like this:")]),e._v(" "),t("p",[t("img",{attrs:{src:o(418),alt:"Win7 Simu File Explorer structure in IndexedDB"}})]),e._v(" "),t("p",[e._v("That is how the File Explorer is structured under the hood from the IndexedDB view. Each file/folder's path corresponds to an index key, with the value containing the metadata and content of that item. For every operation performed against this structure, such as creating, modifying or deleting an item... a corresponding path or key reacts to it. The whole structure is then processed and displayed accordingly on the File Explorer interface.")]),e._v(" "),t("p",[e._v("And of course, be cautious not to mess with it, otherwise, you will lose all your data (hopefully not so important, but I guess who would put important stuff in a simulator, right?).")]),e._v(" "),t("h2",{attrs:{id:"so-what-s-next"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#so-what-s-next"}},[e._v("#")]),e._v(" So, what's next")]),e._v(" "),t("p",[e._v("As the released version of the File Explorer is roughly just a minimum viable version, there are still plenty of rooms for improvements and addon features, namely:")]),e._v(" "),t("ul",[t("li",[e._v("Support multiple item selection")]),e._v(" "),t("li",[e._v("Support quick navigation from the address bar")]),e._v(" "),t("li",[e._v("Support files/folders search")]),e._v(" "),t("li",[e._v("Support sorting items, various view modes (thumbnail, list, details)")]),e._v(" "),t("li",[e._v("Support storage allocation, add volumes, modify drive labels")])]),e._v(" "),t("p",[e._v("And many more that, depending on the number of demands and requests, I might get my hands onto them, some may get implemented very soon, late or will never get implemented at all.")]),e._v(" "),t("p",[e._v("If you enjoy my work and it has somehow helped you in any way, get in touch with me via my email, or simply leave a comment to let me know, that will definitely lift my spirit and encourage me, or even better, become a financial supporter (via "),t("a",{attrs:{href:"https://www.patreon.com/visnalize",target:"_blank",rel:"noopener noreferrer"}},[e._v("Patreon"),t("OutboundLink")],1),e._v(" or Play Store IAP) so I can constantly invest more time in it and roll out more cool features. Again, thank you for your support and stay tuned for more updates. ✌")]),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{421:function(e,t,o){e.exports=o.p+"assets/img/win7-simu-computer.b9265f50.png"},422:function(e,t,o){e.exports=o.p+"assets/img/win7-simu-indexeddb.f8841da2.png"},547:function(e,t,o){"use strict";o.r(t);var i=o(16),a=Object(i.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"implementing-file-explorer-in-win7-simu"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#implementing-file-explorer-in-win7-simu"}},[e._v("#")]),e._v(" Implementing File Explorer in Win7 Simu")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80",alt:"Files and folders"}})]),e._v(" "),t("p",[t("em",[e._v("Cover image by Viktor Talashuk via "),t("a",{attrs:{href:"https://unsplash.com/photos/05HLFQu8bFw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Unsplash"),t("OutboundLink")],1)])]),e._v(" "),t("p",[t("strong",[e._v("File Explorer")]),e._v(" has always been one of the vital features in any operating system, as a Windows simulator, to no surprise that it's also among the most demanded features to be added in Win7 Simu. However, I have been procrastinating its implementation as, besides my skillset limitations, there are quite a lot of complexities and technical constraints involved. Now that I have finally been able to implement it properly, let's read through some technical decisions I made and how it deviates from the actual File Explorer of Windows.")]),e._v(" "),t("h2",{attrs:{id:"some-difficulties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#some-difficulties"}},[e._v("#")]),e._v(" Some difficulties")]),e._v(" "),t("ul",[t("li",[t("em",[e._v("Self-skillset limitation")]),e._v(" - as this simulator has been a work of a one-man development team, sometimes it is tough when you get stuck and there is nobody to support, or at least just to talk it out")]),e._v(" "),t("li",[t("em",[e._v("Work-life balance disruption")]),e._v(" - as I have a family and a 9-to-5 job, trying to find a time slot in between for hobbyist projects is tough")]),e._v(" "),t("li",[t("em",[e._v("Disheartening moments")]),e._v(" - having to spend a long long time working on something out of your capability, and stay committed to it is also tough")]),e._v(" "),t("li",[t("em",[e._v("Too many unknowns")]),e._v(" - libraries, frameworks, techs, platforms, devices, or even just the languages you are not in control may slow you down, kill your time and still you couldn't figure out how to resolve the issue.")])]),e._v(" "),t("p",[e._v("Yes, those are, but not all the difficulties I have been dealing with when developing the File Explorer functionalities, or in general, this simulator. Just a little bit of a sharing before we get into the technical stuff, so you may know that there is no shortcut to achievements.")]),e._v(" "),t("p",[e._v("Despite only a few capabilities being rolled out for the File Explorer in "),t("RouterLink",{attrs:{to:"/win7simu/changelog.html#_3-0-0-may-20-2023"}},[e._v("v3.0.0")]),e._v(", it actually took me months to come up, put the stuff together, and do thorough testing before releasing to you. It was not easy, at all, with several late nights and weekends burned onto it, having to face constant challenges and struggling to break through my own limits. However, the hard work finally paid off, it has come to fruition 😌")],1),e._v(" "),t("h2",{attrs:{id:"implementing-the-file-explorer-functionalities"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#implementing-the-file-explorer-functionalities"}},[e._v("#")]),e._v(" Implementing the File Explorer functionalities")]),e._v(" "),t("p",[t("img",{attrs:{src:o(421),alt:"Win7 Simu File Explorer"}})]),e._v(" "),t("p",[e._v("In v3.0.0, the minimum viable version of File Explorer supports basic operations on files and folders such as creating, opening, editing, renaming, moving, copying, and pasting. And an integral part of this is the trash/delete mechanism which is also supported. As the simulator has to support both Web and Android platforms, there are some challenges to solve for each, and the implementation approach also differs. I will break down some key notes for each.")]),e._v(" "),t("a-google-ad"),e._v(" "),t("h3",{attrs:{id:"implementation-for-android"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#implementation-for-android"}},[e._v("#")]),e._v(" Implementation for Android")]),e._v(" "),t("p",[e._v("With Android already having its own file management system to help organize and manage data from memory cards, I only needed to leverage this capability and hook up to Win7 Simu. However, as easy as it may sound, for someone who has very little knowledge of any programming languages other than JavaScript, it was time-consuming to be able to write a simple piece of code that just works without many issues.")]),e._v(" "),t("p",[e._v("Anyway, the key thing I'm trying to get across here is that, as an operating system, Android has its own way of organizing files and folders, where there is no concept of disk drives or the like as in Windows. And to make it worse, even the different Android versions have a slight difference to handle this among themselves 🤦‍♂️ Therefore, to mimic the disk-drive-driven structure, I needed to build a tree hierarchy from the app directory (a user-friendly path is something like: "),t("code",[e._v("Android/data/win7simu.visnalize.com/files")]),e._v("), which does not require any permission to perform read/write operations on, in case you are doubtful to grant this app access to your data. To put it simply, the app directory acts as the File Explorer system root, with the path hierarchy as follows:")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("Android/data/win7simu.visnalize.com/files\n└── computer/\n └── drive0/\n ├── Program Files/\n ├── Users/\n │ ├── Guest\n │ │ ├── AppData\n │ │ │ └── Roaming\n │ │ │ └── Visnalize\n │ │ │ └── Windows\n │ │ │ └── RecycleBin\n │ │ ├── Downloads\n │ │ ├── Music\n │ │ └── Videos\n │ └── \n │ ├── AppData\n │ ├── Desktop\n │ └── ...\n └── Windows/\n")])])]),t("p",[e._v("Moreover, there is a separate Android drive where you can access all the data available from the root of the memory card. However, due to the strict permission policies, an app is only allowed a certain level of access to the data outside of that app's directory, especially on later Android versions, so please do not expect the Win7 Simu's File Explorer to be as robust as the system default one. Ultimately, its sole purpose is not to be a complete functional emulator, but just to experience, to explore certain limited simulated features of Windows 7.")]),e._v(" "),t("h3",{attrs:{id:"implementation-for-web"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#implementation-for-web"}},[e._v("#")]),e._v(" Implementation for Web")]),e._v(" "),t("p",[e._v("For the Web, the approach was literally built from the ground up, with the IndexedDB API utilized as the source for storing the item paths and organizing them into a hierarchical tree. "),t("a",{attrs:{href:"https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API",target:"_blank",rel:"noopener noreferrer"}},[e._v("IndexedDB"),t("OutboundLink")],1),e._v(" is a powerful solution that allows storing large amounts of data with high-performance search capability based on indexed keys. If you're a curious person with some coding experience, you may check out the web version of Win7 Simu from the dev tools and you may see something like this:")]),e._v(" "),t("p",[t("img",{attrs:{src:o(422),alt:"Win7 Simu File Explorer structure in IndexedDB"}})]),e._v(" "),t("p",[e._v("That is how the File Explorer is structured under the hood from the IndexedDB view. Each file/folder's path corresponds to an index key, with the value containing the metadata and content of that item. For every operation performed against this structure, such as creating, modifying or deleting an item... a corresponding path or key reacts to it. The whole structure is then processed and displayed accordingly on the File Explorer interface.")]),e._v(" "),t("p",[e._v("And of course, be cautious not to mess with it, otherwise, you will lose all your data (hopefully not so important, but I guess who would put important stuff in a simulator, right?).")]),e._v(" "),t("h2",{attrs:{id:"so-what-s-next"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#so-what-s-next"}},[e._v("#")]),e._v(" So, what's next")]),e._v(" "),t("p",[e._v("As the released version of the File Explorer is roughly just a minimum viable version, there are still plenty of rooms for improvements and addon features, namely:")]),e._v(" "),t("ul",[t("li",[e._v("Support multiple item selection")]),e._v(" "),t("li",[e._v("Support quick navigation from the address bar")]),e._v(" "),t("li",[e._v("Support files/folders search")]),e._v(" "),t("li",[e._v("Support sorting items, various view modes (thumbnail, list, details)")]),e._v(" "),t("li",[e._v("Support storage allocation, add volumes, modify drive labels")])]),e._v(" "),t("p",[e._v("And many more that, depending on the number of demands and requests, I might get my hands onto them, some may get implemented very soon, late or will never get implemented at all.")]),e._v(" "),t("p",[e._v("If you enjoy my work and it has somehow helped you in any way, get in touch with me via my email, or simply leave a comment to let me know, that will definitely lift my spirit and encourage me, or even better, become a financial supporter (via "),t("a",{attrs:{href:"https://www.patreon.com/visnalize",target:"_blank",rel:"noopener noreferrer"}},[e._v("Patreon"),t("OutboundLink")],1),e._v(" or Play Store IAP) so I can constantly invest more time in it and roll out more cool features. Again, thank you for your support and stay tuned for more updates. ✌")]),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/5.58477e17.js b/assets/js/5.7f3321e7.js similarity index 98% rename from assets/js/5.58477e17.js rename to assets/js/5.7f3321e7.js index 9829de53..b2da1548 100644 --- a/assets/js/5.58477e17.js +++ b/assets/js/5.7f3321e7.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{438:function(e,t,s){e.exports=s.p+"assets/img/themestudio-editor.a388d954.png"},439:function(e,t,s){e.exports=s.p+"assets/img/themestudio-explorer.8ddbe036.png"},440:function(e,t,s){e.exports=s.p+"assets/img/getstarted.a0f02f51.png"},441:function(e,t,s){e.exports=s.p+"assets/img/getstarted1.edf5c7b0.png"},442:function(e,t,s){e.exports=s.p+"assets/img/getstarted2.bbedd785.png"},443:function(e,t,s){e.exports=s.p+"assets/img/getstarted3.eb3df6cb.png"},590:function(e,t,s){"use strict";s.r(t);var a=s(16),r=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"getting-started"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#getting-started"}},[e._v("#")]),e._v(" Getting started")]),e._v(" "),t("m-social-links"),e._v(" "),t("h2",{attrs:{id:"user-interface"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#user-interface"}},[e._v("#")]),e._v(" User interface")]),e._v(" "),t("h3",{attrs:{id:"theme-editor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#theme-editor"}},[e._v("#")]),e._v(" Theme Editor")]),e._v(" "),t("p",[t("img",{attrs:{src:s(438),alt:"Theme Studio's editor interface"}})]),e._v(" "),t("p",[e._v("The Theme Studio's editor interface is designed to be simple and easy to use, with only 3 components:")]),e._v(" "),t("ul",[t("li",[e._v("Elements navigation - the navigation panel of elements with built-in previews for a quick glimpse of the styling changes.")]),e._v(" "),t("li",[e._v("Source code editor - the main editor that allows you to style the elements using CSS.")]),e._v(" "),t("li",[e._v("Preview area - how the elements look after applying your styling changes.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("Miscellaneous element")]),e._v(" "),t("p",[e._v('The "Misc." element is a special element that doesn\'t have the Preview area. It is intended to support any other elements that are not shown on the Elements navigation, therefore you can use it to write any miscellaneous CSS here.')])]),e._v(" "),t("h3",{attrs:{id:"themes-explorer"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#themes-explorer"}},[e._v("#")]),e._v(" Themes Explorer")]),e._v(" "),t("p",[t("img",{attrs:{src:s(439),alt:"Theme Studio's explorer interface"}})]),e._v(" "),t("p",[e._v("The Theme Studio's themes explorer consists of 3 tabs:")]),e._v(" "),t("ul",[t("li",[e._v("My Creations - where you can find your saved projects/themes on your device.")]),e._v(" "),t("li",[e._v("Public Gallery - where you can find all sorts of themes published by the community, you can also load their source code to your editor or apply to your Win7 Simu.")]),e._v(" "),t("li",[e._v("Templates - some available templates as base themes that you may select and get started easily.")])]),e._v(" "),t("h2",{attrs:{id:"quick-start"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#quick-start"}},[e._v("#")]),e._v(" Quick start")]),e._v(" "),t("p",[e._v("The quickest and easiest way to get started is to load the source code from an existing template:")]),e._v(" "),t("ol",[t("li",[e._v('From the main window, choose "Load an existing project"')])]),e._v(" "),t("p",[t("img",{attrs:{src:s(440),alt:"Getting started"}})]),e._v(" "),t("ol",{attrs:{start:"2"}},[t("li",[e._v('Switch to the "Templates" tab, select a template by right-clicking (hold your finger) on it and choose "Load".')])]),e._v(" "),t("p",[t("img",{attrs:{src:s(441),alt:"Getting started - Select template"}})]),e._v(" "),t("ol",{attrs:{start:"3"}},[t("li",[e._v("You should now be able to see the source code of your selected template, then you can start making changes using the editor to craft your own theme.")])]),e._v(" "),t("p",[t("img",{attrs:{src:s(442),alt:"Getting started - Edit template's source code"}})]),e._v(" "),t("ol",{attrs:{start:"4"}},[t("li",[e._v("Finally, you can save your project as a theme by entering the required information in the save popup. You can then resume editing from the current progress, or apply the theme to your Win7 Simu.")])]),e._v(" "),t("p",[t("img",{attrs:{src:s(443),alt:"Getting started - Save theme"}})])],1)}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{438:function(e,t,s){e.exports=s.p+"assets/img/themestudio-editor.a388d954.png"},439:function(e,t,s){e.exports=s.p+"assets/img/themestudio-explorer.8ddbe036.png"},440:function(e,t,s){e.exports=s.p+"assets/img/getstarted.a0f02f51.png"},441:function(e,t,s){e.exports=s.p+"assets/img/getstarted1.edf5c7b0.png"},442:function(e,t,s){e.exports=s.p+"assets/img/getstarted2.bbedd785.png"},443:function(e,t,s){e.exports=s.p+"assets/img/getstarted3.eb3df6cb.png"},591:function(e,t,s){"use strict";s.r(t);var a=s(16),r=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"getting-started"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#getting-started"}},[e._v("#")]),e._v(" Getting started")]),e._v(" "),t("m-social-links"),e._v(" "),t("h2",{attrs:{id:"user-interface"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#user-interface"}},[e._v("#")]),e._v(" User interface")]),e._v(" "),t("h3",{attrs:{id:"theme-editor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#theme-editor"}},[e._v("#")]),e._v(" Theme Editor")]),e._v(" "),t("p",[t("img",{attrs:{src:s(438),alt:"Theme Studio's editor interface"}})]),e._v(" "),t("p",[e._v("The Theme Studio's editor interface is designed to be simple and easy to use, with only 3 components:")]),e._v(" "),t("ul",[t("li",[e._v("Elements navigation - the navigation panel of elements with built-in previews for a quick glimpse of the styling changes.")]),e._v(" "),t("li",[e._v("Source code editor - the main editor that allows you to style the elements using CSS.")]),e._v(" "),t("li",[e._v("Preview area - how the elements look after applying your styling changes.")])]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("Miscellaneous element")]),e._v(" "),t("p",[e._v('The "Misc." element is a special element that doesn\'t have the Preview area. It is intended to support any other elements that are not shown on the Elements navigation, therefore you can use it to write any miscellaneous CSS here.')])]),e._v(" "),t("h3",{attrs:{id:"themes-explorer"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#themes-explorer"}},[e._v("#")]),e._v(" Themes Explorer")]),e._v(" "),t("p",[t("img",{attrs:{src:s(439),alt:"Theme Studio's explorer interface"}})]),e._v(" "),t("p",[e._v("The Theme Studio's themes explorer consists of 3 tabs:")]),e._v(" "),t("ul",[t("li",[e._v("My Creations - where you can find your saved projects/themes on your device.")]),e._v(" "),t("li",[e._v("Public Gallery - where you can find all sorts of themes published by the community, you can also load their source code to your editor or apply to your Win7 Simu.")]),e._v(" "),t("li",[e._v("Templates - some available templates as base themes that you may select and get started easily.")])]),e._v(" "),t("h2",{attrs:{id:"quick-start"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#quick-start"}},[e._v("#")]),e._v(" Quick start")]),e._v(" "),t("p",[e._v("The quickest and easiest way to get started is to load the source code from an existing template:")]),e._v(" "),t("ol",[t("li",[e._v('From the main window, choose "Load an existing project"')])]),e._v(" "),t("p",[t("img",{attrs:{src:s(440),alt:"Getting started"}})]),e._v(" "),t("ol",{attrs:{start:"2"}},[t("li",[e._v('Switch to the "Templates" tab, select a template by right-clicking (hold your finger) on it and choose "Load".')])]),e._v(" "),t("p",[t("img",{attrs:{src:s(441),alt:"Getting started - Select template"}})]),e._v(" "),t("ol",{attrs:{start:"3"}},[t("li",[e._v("You should now be able to see the source code of your selected template, then you can start making changes using the editor to craft your own theme.")])]),e._v(" "),t("p",[t("img",{attrs:{src:s(442),alt:"Getting started - Edit template's source code"}})]),e._v(" "),t("ol",{attrs:{start:"4"}},[t("li",[e._v("Finally, you can save your project as a theme by entering the required information in the save popup. You can then resume editing from the current progress, or apply the theme to your Win7 Simu.")])]),e._v(" "),t("p",[t("img",{attrs:{src:s(443),alt:"Getting started - Save theme"}})])],1)}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/50.08403796.js b/assets/js/50.f1cc2e0f.js similarity index 94% rename from assets/js/50.08403796.js rename to assets/js/50.f1cc2e0f.js index b42a88a1..395423a0 100644 --- a/assets/js/50.08403796.js +++ b/assets/js/50.f1cc2e0f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{419:function(e,t,s){e.exports=s.p+"assets/img/safari-share.cb037921.png"},420:function(e,t,s){e.exports=s.p+"assets/img/add-to-home-screen.5611989b.png"},545:function(e,t,s){"use strict";s.r(t);var a=s(16),i=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"win7-simu-versus-mobile-devices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#win7-simu-versus-mobile-devices"}},[e._v("#")]),e._v(" Win7 Simu versus mobile devices")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80",alt:"Apple devices"}})]),e._v(" "),t("p",[t("em",[e._v("Cover image by Brandon Romanchuk via "),t("a",{attrs:{href:"https://unsplash.com/photos/VXcJYnVjev8",target:"_blank",rel:"noopener noreferrer"}},[e._v("Unsplash"),t("OutboundLink")],1)])]),e._v(" "),t("p",[e._v("Recently, I have received some feedback about making Win7 Simu easily accessible on mobile devices for those who do not own an Android device and cannot grab the installer from the Google Play Store (primarily iOS users). Therefore, in this post, I'm gonna show you how you can install the web version of Win7 Simu on your mobile device and access it just like a native mobile app!")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("Note")]),e._v(" "),t("p",[e._v("This guide primarily aims at iOS users, however, Android and other mobile OSes in general might be able to achieve the same result with a similar method.")])]),e._v(" "),t("h2",{attrs:{id:"step-by-step-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-by-step-guide"}},[e._v("#")]),e._v(" Step-by-step guide")]),e._v(" "),t("h3",{attrs:{id:"_1-open-win7-simu-with-safari"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-open-win7-simu-with-safari"}},[e._v("#")]),e._v(" 1. Open Win7 Simu with Safari")]),e._v(" "),t("p",[e._v("Safari is the default browser on iOS devices and the only browser that enables what we're trying to achieve. So, open up your Safari and navigate to the "),t("a",{attrs:{href:"https://win7simu.visnalize.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Win7 Simu website"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Click on the Share icon as shown in the screenshot below.")]),e._v(" "),t("p",[t("img",{attrs:{src:s(419),alt:"Safari share icon"}})]),e._v(" "),t("h3",{attrs:{id:"_2-add-to-home-screen"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-add-to-home-screen"}},[e._v("#")]),e._v(" 2. Add to Home Screen")]),e._v(" "),t("p",[e._v('From the popup, scroll down until you see the "Add to Home Screen" option as shown in the screenshot below and tap it. Optionally, customize the name of the app by editing the text in the field provided.')]),e._v(" "),t("p",[t("img",{attrs:{src:s(420),alt:"Add to home screen"}})]),e._v(" "),t("h3",{attrs:{id:"_3-enjoy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_3-enjoy"}},[e._v("#")]),e._v(" 3. Enjoy")]),e._v(" "),t("p",[e._v("Once that's done, you will see the Win7 Simu icon show up on your home screen. And that's it! You've successfully installed Win7 Simu from Safari. Now you can enjoy the app-like experience without the need to download it from the App Store.")]),e._v(" "),t("h2",{attrs:{id:"some-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#some-notes"}},[e._v("#")]),e._v(" Some notes")]),e._v(" "),t("p",[e._v("Despite the app-like experience, please keep in mind that it is just a website by nature, and therefore still has certain limitations as listed "),t("RouterLink",{attrs:{to:"/win7simu/about.html#web-version"}},[e._v("here")]),e._v(". However, the situation might change in the near future as the technology that empowers this capability receives more robust support from mobile vendors. So stay tuned and keep supporting me, either in spirit or "),t("a",{attrs:{href:"https://www.patreon.com/visnalize",target:"_blank",rel:"noopener noreferrer"}},[e._v("financial"),t("OutboundLink")],1),e._v(" 🤩")],1),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{417:function(e,t,s){e.exports=s.p+"assets/img/safari-share.cb037921.png"},418:function(e,t,s){e.exports=s.p+"assets/img/add-to-home-screen.5611989b.png"},545:function(e,t,s){"use strict";s.r(t);var a=s(16),i=Object(a.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"win7-simu-versus-mobile-devices"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#win7-simu-versus-mobile-devices"}},[e._v("#")]),e._v(" Win7 Simu versus mobile devices")]),e._v(" "),t("m-blog-meta"),e._v(" "),t("p",[t("img",{attrs:{src:"https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80",alt:"Apple devices"}})]),e._v(" "),t("p",[t("em",[e._v("Cover image by Brandon Romanchuk via "),t("a",{attrs:{href:"https://unsplash.com/photos/VXcJYnVjev8",target:"_blank",rel:"noopener noreferrer"}},[e._v("Unsplash"),t("OutboundLink")],1)])]),e._v(" "),t("p",[e._v("Recently, I have received some feedback about making Win7 Simu easily accessible on mobile devices for those who do not own an Android device and cannot grab the installer from the Google Play Store (primarily iOS users). Therefore, in this post, I'm gonna show you how you can install the web version of Win7 Simu on your mobile device and access it just like a native mobile app!")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("Note")]),e._v(" "),t("p",[e._v("This guide primarily aims at iOS users, however, Android and other mobile OSes in general might be able to achieve the same result with a similar method.")])]),e._v(" "),t("h2",{attrs:{id:"step-by-step-guide"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-by-step-guide"}},[e._v("#")]),e._v(" Step-by-step guide")]),e._v(" "),t("h3",{attrs:{id:"_1-open-win7-simu-with-safari"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-open-win7-simu-with-safari"}},[e._v("#")]),e._v(" 1. Open Win7 Simu with Safari")]),e._v(" "),t("p",[e._v("Safari is the default browser on iOS devices and the only browser that enables what we're trying to achieve. So, open up your Safari and navigate to the "),t("a",{attrs:{href:"https://win7simu.visnalize.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Win7 Simu website"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Click on the Share icon as shown in the screenshot below.")]),e._v(" "),t("p",[t("img",{attrs:{src:s(417),alt:"Safari share icon"}})]),e._v(" "),t("h3",{attrs:{id:"_2-add-to-home-screen"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-add-to-home-screen"}},[e._v("#")]),e._v(" 2. Add to Home Screen")]),e._v(" "),t("p",[e._v('From the popup, scroll down until you see the "Add to Home Screen" option as shown in the screenshot below and tap it. Optionally, customize the name of the app by editing the text in the field provided.')]),e._v(" "),t("p",[t("img",{attrs:{src:s(418),alt:"Add to home screen"}})]),e._v(" "),t("h3",{attrs:{id:"_3-enjoy"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_3-enjoy"}},[e._v("#")]),e._v(" 3. Enjoy")]),e._v(" "),t("p",[e._v("Once that's done, you will see the Win7 Simu icon show up on your home screen. And that's it! You've successfully installed Win7 Simu from Safari. Now you can enjoy the app-like experience without the need to download it from the App Store.")]),e._v(" "),t("h2",{attrs:{id:"some-notes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#some-notes"}},[e._v("#")]),e._v(" Some notes")]),e._v(" "),t("p",[e._v("Despite the app-like experience, please keep in mind that it is just a website by nature, and therefore still has certain limitations as listed "),t("RouterLink",{attrs:{to:"/win7simu/about.html#web-version"}},[e._v("here")]),e._v(". However, the situation might change in the near future as the technology that empowers this capability receives more robust support from mobile vendors. So stay tuned and keep supporting me, either in spirit or "),t("a",{attrs:{href:"https://www.patreon.com/visnalize",target:"_blank",rel:"noopener noreferrer"}},[e._v("financial"),t("OutboundLink")],1),e._v(" 🤩")],1),e._v(" "),t("m-blog-tag-list",{attrs:{tags:e.$page.frontmatter.tag,showIcon:""}})],1)}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/51.087b16ae.js b/assets/js/51.f779f1b8.js similarity index 99% rename from assets/js/51.087b16ae.js rename to assets/js/51.f779f1b8.js index 574c3930..54745204 100644 --- a/assets/js/51.087b16ae.js +++ b/assets/js/51.f779f1b8.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{421:function(t,a,s){t.exports=s.p+"assets/img/wmc-homescreen-win7simu.d3a11197.png"},422:function(t,a,s){t.exports=s.p+"assets/img/wmc-homescreen-original.23635b07.png"},546:function(t,a,s){"use strict";s.r(a);var e=s(16),n=Object(e.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"implementing-windows-media-center-in-win7-simu"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#implementing-windows-media-center-in-win7-simu"}},[t._v("#")]),t._v(" Implementing Windows Media Center in Win7 Simu")]),t._v(" "),a("m-blog-meta"),t._v(" "),a("p",[a("img",{attrs:{src:"/assets/covers/win7-simu-windows-media-center.jpg",alt:"Windows Media Center Intro"}})]),t._v(" "),a("p",[a("strong",[t._v("Windows Media Center")]),t._v(" (WMC for short) is a media player program created and first introduced to Windows XP Media Center Edition in 2002 by Microsoft. It can play slide shows, music, videos, CDs, and DVDs, you can even watch live TV and record it. For many of us, it was part of childhood bringing back a lot of memories from the good old days.")]),t._v(" "),a("p",[t._v("Unfortunately, shortly after the release of WMC in Windows 7 in 2009, Microsoft no longer worked on it and eventually it was announced discontinued on Windows 10. It was devastating to see a such good program with a stunning user interface go.")]),t._v(" "),a("p",[t._v("Of course, with the joy of bringing back the nostalgia, we would love to bring WMC back in Win7 Simu.")]),t._v(" "),a("h2",{attrs:{id:"the-scope"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#the-scope"}},[t._v("#")]),t._v(" The Scope")]),t._v(" "),a("p",[t._v("The original WMC in Windows 7 can do many things like playing live TV, slide shows, music, video, CD, DVD and more. Because Win7 Simu is a simulator built on the "),a("RouterLink",{attrs:{to:"/blog/building-win7-simu.html#the-tech-stack"}},[t._v("web technologies")]),t._v(", we're not going to replicate the whole program and this project is obviously not intended to replace the original.")],1),t._v(" "),a("p",[t._v("For that reason, the scope of the project will be implementing a basic version of WMC that lets you browse your favorite photos, and play music and videos. Basically, it will be a stripped-down version of the original.")]),t._v(" "),a("h2",{attrs:{id:"the-implementation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#the-implementation"}},[t._v("#")]),t._v(" The Implementation")]),t._v(" "),a("h3",{attrs:{id:"resource-files"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resource-files"}},[t._v("#")]),t._v(" Resource Files")]),t._v(" "),a("p",[t._v("Most of the resource files are extracted from the "),a("code",[t._v(".DLL")]),t._v(" files in the original WMC. It contains everything we need to faithfully recreate WMC so we don't have to make everything from scratch (hope we will not get in trouble for using those resource files 👀).")]),t._v(" "),a("p",[t._v("We didn't use the font files in the original because those files are huge, it'll bloat the app install size up which we don't want.")]),t._v(" "),a("h3",{attrs:{id:"the-intro-screen"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#the-intro-screen"}},[t._v("#")]),t._v(" The Intro Screen")]),t._v(" "),a("p",[t._v("The intro screen might be the most time-consuming part because of the sheer amount of animation keyframes it has, though it's not too difficult to implement it.")]),t._v(" "),a("p",[t._v("Inside the resource files, there are "),a("a",{attrs:{href:"https://learn.microsoft.com/en-us/previous-versions/windows/desktop/windows-media-center-sdk/bb189388(v=msdn.10)",target:"_blank",rel:"noopener noreferrer"}},[a("code",[t._v(".MCML")]),a("OutboundLink")],1),t._v(" files that describe a lot of the animation keyframes so we just had to translate it to the equivalents in CSS, though it still needed a lot of adjustments.")]),t._v(" "),a("p",[t._v("Here is what an animation in the "),a("code",[t._v(".MCML")]),t._v(" looks like. The animation has a name and a bunch of following keyframes and it's fairly straightforward to translate it to CSS.")]),t._v(" "),a("div",{staticClass:"language-xml extra-class"},[a("pre",{pre:!0,attrs:{class:"language-xml"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Animation")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Name")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Launch.Text.MotionBlur"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Keyframes")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ScaleKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("3.0, 3.0, 1.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Interpolation")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("EaseIn, 2.0, 0.80"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ScaleKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("1.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("1.0,1.0, 1.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ScaleKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2.2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.85,0.85, 1.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("RelativeTo")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Absolute"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ScaleKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2.7"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.75, 0.75, 1.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("RelativeTo")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Absolute"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("AlphaKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("RelativeTo")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Absolute"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("AlphaKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.133"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("RelativeTo")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Absolute"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Interpolation")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("SCurve"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("AlphaKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.833"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.75"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("RelativeTo")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Absolute"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("AlphaKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("1.5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("1.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("RelativeTo")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Absolute"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Interpolation")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("SCurve"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("AlphaKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("1.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("RelativeTo")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Absolute"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("AlphaKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2.7"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.00"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("RelativeTo")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Absolute"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("PositionKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("50,600,0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Interpolation")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("EaseIn, 2.0, 0.80"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("PositionKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("1.0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0,200,0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("PositionKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2.2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0,170,0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("PositionKeyframe")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Time")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2.7"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("Value")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("0,150,0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),a("p",[t._v("Lucky for us, Microsoft still keeps the documentation of the "),a("a",{attrs:{href:"https://learn.microsoft.com/en-us/previous-versions/windows/desktop/windows-media-center-sdk/ms818424(v=msdn.10)",target:"_blank",rel:"noopener noreferrer"}},[t._v("Windows Media Center SDK"),a("OutboundLink")],1),t._v(" so we, at least, have something to reference.")]),t._v(" "),a("h3",{attrs:{id:"the-home-screen"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#the-home-screen"}},[t._v("#")]),t._v(" The Home Screen")]),t._v(" "),a("p",[t._v("The home screen might be one of the challenging parts when making WMC. There are a lot of animations and masking, and magnifying effects (I don't know what it's called, alright). We couldn't understand most of the information in the "),a("code",[t._v(".MCML")]),t._v(" files to recreate it so we decided to use the power of observation and use what we can use in CSS and go with our guts.")]),t._v(" "),a("p",[t._v("The result home screen is quite good and comparable to the original, in our opinion. Though it doesn't look like a 1-to-1 replication.")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",{staticStyle:{"text-align":"center"}},[t._v("WMC Home Screen in Win7 Simu")]),t._v(" "),a("th",{staticStyle:{"text-align":"center"}},[t._v("Original WMC Home Screen")])])]),t._v(" "),a("tbody",[a("tr",[a("td",{staticStyle:{"text-align":"center"}},[a("img",{attrs:{src:s(421),alt:"Windows Media Center Home Screen in Win7 Simu"}})]),t._v(" "),a("td",{staticStyle:{"text-align":"center"}},[a("img",{attrs:{src:s(422),alt:"Original Windows Media Center Home Screen in Windows 7"}})])])])]),t._v(" "),a("h3",{attrs:{id:"the-photos-videos-libraries"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#the-photos-videos-libraries"}},[t._v("#")]),t._v(" The Photos + Videos Libraries")]),t._v(" "),a("p",[t._v("The WMC in Win7 Simu searches for photos in "),a("code",[t._v("C:\\Users\\\\Pictures")]),t._v(" (for now) and displays all the photos and folders it found. Each thumbnail can be easily rendered by getting the blob URL of the image and using it in the "),a("code",[t._v("")]),t._v(" tag. The downside of this approach is that it might be slow if the image is too large.")]),t._v(" "),a("p",[t._v("For the video library, it's a tad trickier. Each video thumbnail is an HTML5 "),a("code",[t._v("
'};function o(t,e,n){return tn?n:t}function r(t){return 100*(-1+t)}n.configure=function(t){var e,n;for(e in t)void 0!==(n=t[e])&&t.hasOwnProperty(e)&&(i[e]=n);return this},n.status=null,n.set=function(t){var e=n.isStarted();t=o(t,i.minimum,1),n.status=1===t?null:t;var l=n.render(!e),c=l.querySelector(i.barSelector),u=i.speed,p=i.easing;return l.offsetWidth,a((function(e){""===i.positionUsing&&(i.positionUsing=n.getPositioningCSS()),s(c,function(t,e,n){var o;return(o="translate3d"===i.positionUsing?{transform:"translate3d("+r(t)+"%,0,0)"}:"translate"===i.positionUsing?{transform:"translate("+r(t)+"%,0)"}:{"margin-left":r(t)+"%"}).transition="all "+e+"ms "+n,o}(t,u,p)),1===t?(s(l,{transition:"none",opacity:1}),l.offsetWidth,setTimeout((function(){s(l,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),e()}),u)}),u)):setTimeout(e,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var t=function(){setTimeout((function(){n.status&&(n.trickle(),t())}),i.trickleSpeed)};return i.trickle&&t(),this},n.done=function(t){return t||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(t){var e=n.status;return e?("number"!=typeof t&&(t=(1-e)*o(Math.random()*e,.1,.95)),e=o(e+t,0,.994),n.set(e)):n.start()},n.trickle=function(){return n.inc(Math.random()*i.trickleRate)},t=0,e=0,n.promise=function(i){return i&&"resolved"!==i.state()?(0===e&&n.start(),t++,e++,i.always((function(){0==--e?(t=0,n.done()):n.set((t-e)/t)})),this):this},n.render=function(t){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var e=document.createElement("div");e.id="nprogress",e.innerHTML=i.template;var o,a=e.querySelector(i.barSelector),l=t?"-100":r(n.status||0),u=document.querySelector(i.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),i.showSpinner||(o=e.querySelector(i.spinnerSelector))&&m(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(e),e},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(i.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&m(t)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var a=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),s=function(){var t=["Webkit","O","Moz","ms"],e={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()})),e[n]||(e[n]=function(e){var n=document.body.style;if(e in n)return e;for(var i,o=t.length,r=e.charAt(0).toUpperCase()+e.slice(1);o--;)if((i=t[o]+r)in n)return i;return e}(n))}function i(t,e,i){e=n(e),t.style[e]=i}return function(t,e){var n,o,r=arguments;if(2==r.length)for(n in e)void 0!==(o=e[n])&&e.hasOwnProperty(n)&&i(t,n,o);else i(t,r[1],r[2])}}();function l(t,e){return("string"==typeof t?t:p(t)).indexOf(" "+e+" ")>=0}function c(t,e){var n=p(t),i=n+e;l(n,e)||(t.className=i.substring(1))}function u(t,e){var n,i=p(t);l(t,e)&&(n=i.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function p(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function m(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return n})?i.call(e,n,e,t):i)||(t.exports=o)},function(t,e,n){var i=n(2),o=n(64).f,r=n(23),a=n(137),s=n(40),l=n(82),c=n(153);t.exports=function(t,e){var n,u,p,m,d,h=t.target,f=t.global,g=t.stat;if(n=f?i:g?i[h]||s(h,{}):(i[h]||{}).prototype)for(u in e){if(m=e[u],p=t.dontCallGetSet?(d=o(n,u))&&d.value:n[u],!c(f?u:h+(g?".":"#")+u,t.forced)&&void 0!==p){if(typeof m==typeof p)continue;l(m,p)}(t.sham||p&&p.sham)&&r(m,"sham",!0),a(n,u,m,t)}}},function(t,e,n){var i=n(35),o=Function.prototype.call;t.exports=i?o.bind(o):function(){return o.apply(o,arguments)}},function(t,e,n){var i=n(3);t.exports=!i((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(65),o=n(67);t.exports=function(t){return i(o(t))}},function(t,e,n){var i=n(2),o=n(77),r=n(8),a=n(79),s=n(74),l=n(73),c=o("wks"),u=i.Symbol,p=u&&u.for,m=l?u:u&&u.withoutSetter||a;t.exports=function(t){if(!r(c,t)||!s&&"string"!=typeof c[t]){var e="Symbol."+t;s&&r(u,t)?c[t]=u[t]:c[t]=l&&p?p(e):m(e)}return c[t]}},function(t,e,n){var i=n(2),o=n(40),r=i["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=r},function(t,e,n){var i=n(2),o=Object.defineProperty;t.exports=function(t,e){try{o(i,t,{value:e,configurable:!0,writable:!0})}catch(n){i[t]=e}return e}},function(t,e,n){var i=n(67),o=Object;t.exports=function(t){return o(i(t))}},function(t,e,n){var i=n(11),o=String,r=TypeError;t.exports=function(t){if(i(t))return t;throw r(o(t)+" is not an object")}},function(t,e,n){var i=n(150);t.exports=function(t){return i(t.length)}},function(t,e,n){var i=n(26),o=n(185),r=n(186),a=n(187),s=n(188),l=n(189);function c(t){var e=this.__data__=new i(t);this.size=e.size}c.prototype.clear=o,c.prototype.delete=r,c.prototype.get=a,c.prototype.has=s,c.prototype.set=l,t.exports=c},function(t,e,n){var i=n(12)(n(5),"Map");t.exports=i},function(t,e,n){var i=n(17),o=n(9);t.exports=function(t){if(!o(t))return!1;var e=i(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},function(t,e,n){var i=n(194),o=n(201),r=n(203),a=n(204),s=n(205);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}},function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},function(t,e,n){var i=n(4),o=n(57),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(i(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!o(t))||(a.test(t)||!r.test(t)||null!=e&&t in Object(e))}},function(t,e,n){var i=n(17),o=n(10);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==i(t)}},function(t,e){t.exports=function(t){return t}},function(t,e,n){var i=n(101);t.exports=function(t,e,n){"__proto__"==e&&i?i(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},function(t,e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2},e.isValid=function(t){return t&&void 0!==t.bit&&t.bit>=0&&t.bit<4},e.from=function(t,n){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return n}}},function(t,e,n){"use strict";var i=n(33),o=n(41),r=n(43),a=n(157),s=n(159),l=n(3)((function(){return 4294967297!==[].push.call({length:4294967296},1)})),c=!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}();i({target:"Array",proto:!0,arity:1,forced:l||c},{push:function(t){var e=o(this),n=r(e),i=arguments.length;s(n+i);for(var l=0;l79&&a<83},{reduce:function(t){var e=arguments.length;return o(this,t,e,e>1?arguments[1]:void 0)}})},function(t,e,n){var i=n(6),o=n(34),r=n(129),a=n(36),s=n(37),l=n(69),c=n(8),u=n(80),p=Object.getOwnPropertyDescriptor;e.f=i?p:function(t,e){if(t=s(t),e=l(e),u)try{return p(t,e)}catch(t){}if(c(t,e))return a(!o(r.f,t,e),t[e])}},function(t,e,n){var i=n(7),o=n(3),r=n(18),a=Object,s=i("".split);t.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"==r(t)?s(t,""):a(t)}:a},function(t,e,n){var i=n(35),o=Function.prototype,r=o.call,a=i&&o.bind.bind(r,r);t.exports=function(t){return i?a(t):function(){return r.apply(t,arguments)}}},function(t,e,n){var i=n(68),o=TypeError;t.exports=function(t){if(i(t))throw o("Can't call method on "+t);return t}},function(t,e){t.exports=function(t){return null==t}},function(t,e,n){var i=n(130),o=n(71);t.exports=function(t){var e=i(t,"string");return o(e)?e:e+""}},function(t,e){var n="object"==typeof document&&document.all,i=void 0===n&&void 0!==n;t.exports={all:n,IS_HTMLDDA:i}},function(t,e,n){var i=n(22),o=n(1),r=n(72),a=n(73),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=i("Symbol");return o(e)&&r(e.prototype,s(t))}},function(t,e,n){var i=n(7);t.exports=i({}.isPrototypeOf)},function(t,e,n){var i=n(74);t.exports=i&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,e,n){var i=n(75),o=n(3);t.exports=!!Object.getOwnPropertySymbols&&!o((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&i&&i<41}))},function(t,e,n){var i,o,r=n(2),a=n(131),s=r.process,l=r.Deno,c=s&&s.versions||l&&l.version,u=c&&c.v8;u&&(o=(i=u.split("."))[0]>0&&i[0]<4?1:+(i[0]+i[1])),!o&&a&&(!(i=a.match(/Edge\/(\d+)/))||i[1]>=74)&&(i=a.match(/Chrome\/(\d+)/))&&(o=+i[1]),t.exports=o},function(t,e,n){var i=n(1),o=n(133),r=TypeError;t.exports=function(t){if(i(t))return t;throw r(o(t)+" is not a function")}},function(t,e,n){var i=n(78),o=n(39);(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.25.5",mode:i?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE",source:"https://github.com/zloirock/core-js"})},function(t,e){t.exports=!1},function(t,e,n){var i=n(7),o=0,r=Math.random(),a=i(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++o+r,36)}},function(t,e,n){var i=n(6),o=n(3),r=n(135);t.exports=!i&&!o((function(){return 7!=Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a}))},function(t,e){t.exports={}},function(t,e,n){var i=n(8),o=n(144),r=n(64),a=n(24);t.exports=function(t,e,n){for(var s=o(e),l=a.f,c=r.f,u=0;uu))return!1;var m=l.get(t),d=l.get(e);if(m&&d)return m==e&&d==t;var h=-1,f=!0,g=2&n?new i:void 0;for(l.set(t,e),l.set(e,t);++h{const{networks:e,twitterUser:n,fallbackImage:i,autoQuote:s,isPlain:l,networksData:c,qrcodeOptions:u}=o.default;t.component("SocialShare",{functional:!0,props:{networks:{type:Array},tags:{type:Array},isPlain:{type:Boolean}},render:(t,{props:o,data:a,parent:p})=>p._isMounted?t(r.default,Object.assign(Object.assign({},a),{props:{networks:o.networks||e,tags:o.tags,twitterUser:n,fallbackImage:i,autoQuote:s,isPlain:o.isPlain||l,qrcodeOptions:u,networksData:c}})):(p.$once("hook:mounted",()=>{p.$forceUpdate()}),t())}),t.component("GlobalSocialShare",{functional:!0,render:(t,{parent:o})=>o._isMounted?t(a.default,{attrs:{networks:e,isPlain:l,twitterUser:n,fallbackImage:i,autoQuote:s,networksData:c}}):(o.$once("hook:mounted",()=>{o.$forceUpdate()}),t())})}},function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(e,n);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,o)}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},a=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,r){function a(t){try{l(i.next(t))}catch(t){r(t)}}function s(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}l((i=i.apply(t,e||[])).next())}))},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const l=n(109),c=s(n(286)),u={name:"SocialShare",props:{networks:{type:Array,default:()=>["twitter","facebook","reddit"]},tags:{type:Array,default:()=>[]},twitterUser:{type:String},fallbackImage:{type:String},autoQuote:{type:Boolean,default:!0},isPlain:{type:Boolean,default:!1},qrcodeOptions:{type:Object,default:()=>({})},networksData:{type:Object,default:()=>({})}},computed:{visible(){return!!this.networks.length&&!this.$frontmatter.noSocialShare},url(){return this.$frontmatter.$shareUrl||this.$frontmatter.shareUrl||(l.inBrowser?location.href:"")},title(){return this.$frontmatter.$shareTitle||this.$frontmatter.shareTitle||this.$frontmatter.title||(l.inBrowser?document.title:this.$title)},description(){return this.$frontmatter.$shareDescription||this.$frontmatter.shareDescription||this.$frontmatter.description||(0,l.getMetaContentByName)("description")||this.$description},media(){const t=this.$frontmatter.$shareImage||this.$frontmatter.shareImage||this.$frontmatter.image||this.fallbackImage;if(!t)return"";if((0,l.isExternalUrl)(t))return t;return l.inBrowser?`${location.origin}${this.$withBase(t)}`:""},quote(){return this.$frontmatter.$shareQuote||this.$frontmatter.shareQuote||(this.autoQuote?this.description:"")},hashtags(){const t=this.$frontmatter.$shareTags||this.$frontmatter.shareTags||this.$frontmatter.tags||this.$frontmatter.tag||this.tags||(0,l.getMetaContentByName)("keywords");return Array.isArray(t)?t.join(","):"string"==typeof t?t.replace(/\s/g,""):""},qrcodeRenderOptions(){return Object.assign({errorCorrectionLevel:"H",width:250,scale:1,margin:1.5},this.qrcodeOptions)}},data(){const t=[...new Set(this.networks)];return{userNetworks:Object.keys(this.networksData).map(t=>Object.assign({name:t},this.networksData[t])).filter(e=>t.includes(e.name)).sort((e,n)=>t.indexOf(e.name)-t.indexOf(n.name)),popup:{status:!1,resizable:!1,toolbar:!1,menubar:!1,scrollbars:!1,location:!1,directories:!1,width:626,height:436,top:0,left:0,interval:null}}},methods:{openSharer(t,e){var n;let i=null;const o=["status="+(this.popup.status?"yes":"no"),"height="+this.popup.height,"width="+this.popup.width,"resizable="+(this.popup.resizable?"yes":"no"),"left="+this.popup.left,"top="+this.popup.top,"screenX="+this.popup.left,"screenY="+this.popup.top,"toolbar="+(this.popup.toolbar?"yes":"no"),"menubar="+(this.popup.menubar?"yes":"no"),"scrollbars="+(this.popup.scrollbars?"yes":"no"),"location="+(this.popup.location?"yes":"no"),"directories="+(this.popup.directories?"yes":"no")];i=window.open(t,"sharer",o.join(",")),null===(n=null==i?void 0:i.focus)||void 0===n||n.call(i),this.popup.interval=window.setInterval(()=>{i&&i.closed&&(clearInterval(this.popup.interval),i=null,this.$root.$emit("social-share-close",e))},500)},showQRCode(){return a(this,void 0,void 0,(function*(){const t=document.body,e=document.querySelector("#__VUEPRESS_SOCIAL_SHARE__"),i=document.createElement("div");i.id="__VUEPRESS_SOCIAL_SHARE__",i.classList.add("social-share-overlay"),e&&e.parentNode&&e.parentNode.removeChild(e);try{const e=yield Promise.resolve().then(()=>r(n(287))),o=yield e.toDataURL(this.url,this.qrcodeRenderOptions);i.innerHTML=``,t.appendChild(i),i.classList.add("show"),i.addEventListener("click",e=>{i.classList.remove("show"),t.removeChild(i),e.stopPropagation()})}catch(t){console.log(t)}}))}},render(t){if(!this.visible)return null;return t("div",{attrs:{class:"social-share"}},[(e=>t("ul",{attrs:{class:"social-share-list",role:"listbox"}},e.map(e=>t(c.default,{props:{network:e,isPlain:this.isPlain}}))))(this.userNetworks),this.$slots.default])},mounted(){if(!l.inBrowser)return!1;const t=document.documentElement,e=void 0!==window.screenLeft?window.screenLeft:window.screenX,n=void 0!==window.screenTop?window.screenTop:window.screenY,i=window.innerWidth?window.innerWidth:t.clientWidth?t.clientWidth:screen.width,o=window.innerHeight?window.innerHeight:t.clientHeight?t.clientHeight:screen.height;this.popup.left=i/2-this.popup.width/2+e,this.popup.top=o/2-this.popup.height/2+n}};e.default=u},function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.createNetworksData=e.getMetaContentByName=e.inBrowser=e.isSVG=e.isExternalUrl=e.isEmail=void 0;const o=i(n(284)),r=n(285),a=n(110);e.isEmail=t=>a.RE_EMAIL.test(t);e.isExternalUrl=t=>a.RE_EXTERNAL_LINK.test(t);e.isSVG=t=>a.RE_SVG_SOURCE.test(t),e.inBrowser="undefined"!=typeof window,e.getMetaContentByName=function(t){if(!e.inBrowser)return"";const n=document.getElementsByName(t)[0];return n&&n.getAttribute("content")||""};e.createNetworksData=(t={})=>{const{email:n="",extendsNetworks:i={}}=t;return(0,e.isEmail)(n)?r.BASE_NETWORKS.email.sharer=r.BASE_NETWORKS.email.sharer.replace("@email",n):delete r.BASE_NETWORKS.email,(0,o.default)(r.BASE_NETWORKS,i)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SVG_ICON_SHARE=e.SVG_ICON_CLOSE=e.RE_EMAIL=e.RE_EXTERNAL_LINK=e.RE_SVG_SOURCE=void 0,e.RE_SVG_SOURCE=/(.*?)<\/svg>/i,e.RE_EXTERNAL_LINK=/^(https?:|mailto:|tel:|[a-zA-Z]{4,}:)/,e.RE_EMAIL=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/,e.SVG_ICON_CLOSE='\n \n\n',e.SVG_ICON_SHARE='\n \n'},function(t,e,n){const i=n(60),o=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(t,e){switch(e){case i.L:return o[4*(t-1)+0];case i.M:return o[4*(t-1)+1];case i.Q:return o[4*(t-1)+2];case i.H:return o[4*(t-1)+3];default:return}},e.getTotalCodewordsCount=function(t,e){switch(e){case i.L:return r[4*(t-1)+0];case i.M:return r[4*(t-1)+1];case i.Q:return r[4*(t-1)+2];case i.H:return r[4*(t-1)+3];default:return}}},function(t,e){e.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},function(t,e){let n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";n=n.replace(/u/g,"\\u");const i="(?:(?![A-Z0-9 $%*+\\-./:]|"+n+")(?:.|[\r\n]))+";e.KANJI=new RegExp(n,"g"),e.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),e.BYTE=new RegExp(i,"g"),e.NUMERIC=new RegExp("[0-9]+","g"),e.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const o=new RegExp("^"+n+"$"),r=new RegExp("^[0-9]+$"),a=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");e.testKanji=function(t){return o.test(t)},e.testNumeric=function(t){return r.test(t)},e.testAlphanumeric=function(t){return a.test(t)}},function(t,e){function n(t){if("number"==typeof t&&(t=t.toString()),"string"!=typeof t)throw new Error("Color should be defined as hex string");let e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map((function(t){return[t,t]})))),6===e.length&&e.push("F","F");const n=parseInt(e.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:255&n,hex:"#"+e.slice(0,6).join("")}}e.getOptions=function(t){t||(t={}),t.color||(t.color={});const e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,i=t.width&&t.width>=21?t.width:void 0,o=t.scale||4;return{width:i,scale:i?4:o,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},e.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},e.getImageWidth=function(t,n){const i=e.getScale(t,n);return Math.floor((t+2*n.margin)*i)},e.qrToImageData=function(t,n,i){const o=n.modules.size,r=n.modules.data,a=e.getScale(o,i),s=Math.floor((o+2*i.margin)*a),l=i.margin*a,c=[i.color.light,i.color.dark];for(let e=0;e=l&&n>=l&&e]/;t.exports=function(t){var e,n=""+t,o=i.exec(n);if(!o)return n;var r="",a=0,s=0;for(a=o.index;a=e||n<0||g&&t-c>=r}function _(){var t=d();if(b(t))return k(t);s=setTimeout(_,function(t){var n=e-(t-l);return g?m(n,r-(t-c)):n}(t))}function k(t){return s=void 0,v&&i?y(t):(i=o=void 0,a)}function x(){var t=d(),n=b(t);if(i=arguments,o=this,l=t,n){if(void 0===s)return w(l);if(g)return s=setTimeout(_,e),y(l)}return void 0===s&&(s=setTimeout(_,e)),a}return e=f(e)||0,h(n)&&(u=!!n.leading,r=(g="maxWait"in n)?p(f(n.maxWait)||0,e):r,v="trailing"in n?!!n.trailing:v),x.cancel=function(){void 0!==s&&clearTimeout(s),c=0,i=l=o=s=void 0},x.flush=function(){return void 0===s?a:k(d())},x}},function(t,e,n){!function(){"use strict";t.exports={polyfill:function(){var t=window,e=document;if(!("scrollBehavior"in e.documentElement.style)||!0===t.__forceSmoothScrollPolyfill__){var n,i=t.HTMLElement||t.Element,o={scroll:t.scroll||t.scrollTo,scrollBy:t.scrollBy,elementScroll:i.prototype.scroll||s,scrollIntoView:i.prototype.scrollIntoView},r=t.performance&&t.performance.now?t.performance.now.bind(t.performance):Date.now,a=(n=t.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(n)?1:0);t.scroll=t.scrollTo=function(){void 0!==arguments[0]&&(!0!==l(arguments[0])?h.call(t,e.body,void 0!==arguments[0].left?~~arguments[0].left:t.scrollX||t.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:t.scrollY||t.pageYOffset):o.scroll.call(t,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:t.scrollX||t.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:t.scrollY||t.pageYOffset))},t.scrollBy=function(){void 0!==arguments[0]&&(l(arguments[0])?o.scrollBy.call(t,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):h.call(t,e.body,~~arguments[0].left+(t.scrollX||t.pageXOffset),~~arguments[0].top+(t.scrollY||t.pageYOffset)))},i.prototype.scroll=i.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==l(arguments[0])){var t=arguments[0].left,e=arguments[0].top;h.call(this,this,void 0===t?this.scrollLeft:~~t,void 0===e?this.scrollTop:~~e)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},i.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==l(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},i.prototype.scrollIntoView=function(){if(!0!==l(arguments[0])){var n=m(this),i=n.getBoundingClientRect(),r=this.getBoundingClientRect();n!==e.body?(h.call(this,n,n.scrollLeft+r.left-i.left,n.scrollTop+r.top-i.top),"fixed"!==t.getComputedStyle(n).position&&t.scrollBy({left:i.left,top:i.top,behavior:"smooth"})):t.scrollBy({left:r.left,top:r.top,behavior:"smooth"})}else o.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function s(t,e){this.scrollLeft=t,this.scrollTop=e}function l(t){if(null===t||"object"!=typeof t||void 0===t.behavior||"auto"===t.behavior||"instant"===t.behavior)return!0;if("object"==typeof t&&"smooth"===t.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+t.behavior+" is not a valid value for enumeration ScrollBehavior.")}function c(t,e){return"Y"===e?t.clientHeight+a1?1:s,n=.5*(1-Math.cos(Math.PI*a)),i=e.startX+(e.x-e.startX)*n,o=e.startY+(e.y-e.startY)*n,e.method.call(e.scrollable,i,o),i===e.x&&o===e.y||t.requestAnimationFrame(d.bind(t,e))}function h(n,i,a){var l,c,u,p,m=r();n===e.body?(l=t,c=t.scrollX||t.pageXOffset,u=t.scrollY||t.pageYOffset,p=o.scroll):(l=n,c=n.scrollLeft,u=n.scrollTop,p=s),d({scrollable:l,method:p,startTime:m,startX:c,startY:u,x:i,y:a})}}}}()},function(t,e,n){n(62),t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){function n(t,e){for(var n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},function(t,e,n){var i=n(98);t.exports=function(t,e,n){var o=null==t?void 0:i(t,e);return void 0===o?n:o}},function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},function(t,e,n){t.exports=n(312)},function(t,e,n){"use strict";var i={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,r=o&&!i.call({1:2},1);e.f=r?function(t){var e=o(this,t);return!!e&&e.enumerable}:i},function(t,e,n){var i=n(34),o=n(11),r=n(71),a=n(132),s=n(134),l=n(38),c=TypeError,u=l("toPrimitive");t.exports=function(t,e){if(!o(t)||r(t))return t;var n,l=a(t,u);if(l){if(void 0===e&&(e="default"),n=i(l,t,e),!o(n)||r(n))return n;throw c("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},function(t,e,n){var i=n(22);t.exports=i("navigator","userAgent")||""},function(t,e,n){var i=n(76),o=n(68);t.exports=function(t,e){var n=t[e];return o(n)?void 0:i(n)}},function(t,e){var n=String;t.exports=function(t){try{return n(t)}catch(t){return"Object"}}},function(t,e,n){var i=n(34),o=n(1),r=n(11),a=TypeError;t.exports=function(t,e){var n,s;if("string"===e&&o(n=t.toString)&&!r(s=i(n,t)))return s;if(o(n=t.valueOf)&&!r(s=i(n,t)))return s;if("string"!==e&&o(n=t.toString)&&!r(s=i(n,t)))return s;throw a("Can't convert object to primitive value")}},function(t,e,n){var i=n(2),o=n(11),r=i.document,a=o(r)&&o(r.createElement);t.exports=function(t){return a?r.createElement(t):{}}},function(t,e,n){var i=n(6),o=n(3);t.exports=i&&o((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},function(t,e,n){var i=n(1),o=n(24),r=n(138),a=n(40);t.exports=function(t,e,n,s){s||(s={});var l=s.enumerable,c=void 0!==s.name?s.name:e;if(i(n)&&r(n,c,s),s.global)l?t[e]=n:a(e,n);else{try{s.unsafe?t[e]&&(l=!0):delete t[e]}catch(t){}l?t[e]=n:o.f(t,e,{value:n,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return t}},function(t,e,n){var i=n(3),o=n(1),r=n(8),a=n(6),s=n(139).CONFIGURABLE,l=n(140),c=n(141),u=c.enforce,p=c.get,m=Object.defineProperty,d=a&&!i((function(){return 8!==m((function(){}),"length",{value:8}).length})),h=String(String).split("String"),f=t.exports=function(t,e,n){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!r(t,"name")||s&&t.name!==e)&&(a?m(t,"name",{value:e,configurable:!0}):t.name=e),d&&n&&r(n,"arity")&&t.length!==n.arity&&m(t,"length",{value:n.arity});try{n&&r(n,"constructor")&&n.constructor?a&&m(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var i=u(t);return r(i,"source")||(i.source=h.join("string"==typeof e?e:"")),t};Function.prototype.toString=f((function(){return o(this)&&p(this).source||l(this)}),"toString")},function(t,e,n){var i=n(6),o=n(8),r=Function.prototype,a=i&&Object.getOwnPropertyDescriptor,s=o(r,"name"),l=s&&"something"===function(){}.name,c=s&&(!i||i&&a(r,"name").configurable);t.exports={EXISTS:s,PROPER:l,CONFIGURABLE:c}},function(t,e,n){var i=n(7),o=n(1),r=n(39),a=i(Function.toString);o(r.inspectSource)||(r.inspectSource=function(t){return a(t)}),t.exports=r.inspectSource},function(t,e,n){var i,o,r,a=n(142),s=n(2),l=n(11),c=n(23),u=n(8),p=n(39),m=n(143),d=n(81),h=s.TypeError,f=s.WeakMap;if(a||p.state){var g=p.state||(p.state=new f);g.get=g.get,g.has=g.has,g.set=g.set,i=function(t,e){if(g.has(t))throw h("Object already initialized");return e.facade=t,g.set(t,e),e},o=function(t){return g.get(t)||{}},r=function(t){return g.has(t)}}else{var v=m("state");d[v]=!0,i=function(t,e){if(u(t,v))throw h("Object already initialized");return e.facade=t,c(t,v,e),e},o=function(t){return u(t,v)?t[v]:{}},r=function(t){return u(t,v)}}t.exports={set:i,get:o,has:r,enforce:function(t){return r(t)?o(t):i(t,{})},getterFor:function(t){return function(e){var n;if(!l(e)||(n=o(e)).type!==t)throw h("Incompatible receiver, "+t+" required");return n}}}},function(t,e,n){var i=n(2),o=n(1),r=i.WeakMap;t.exports=o(r)&&/native code/.test(String(r))},function(t,e,n){var i=n(77),o=n(79),r=i("keys");t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var i=n(22),o=n(7),r=n(145),a=n(152),s=n(42),l=o([].concat);t.exports=i("Reflect","ownKeys")||function(t){var e=r.f(s(t)),n=a.f;return n?l(e,n(t)):e}},function(t,e,n){var i=n(146),o=n(151).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,o)}},function(t,e,n){var i=n(7),o=n(8),r=n(37),a=n(147).indexOf,s=n(81),l=i([].push);t.exports=function(t,e){var n,i=r(t),c=0,u=[];for(n in i)!o(s,n)&&o(i,n)&&l(u,n);for(;e.length>c;)o(i,n=e[c++])&&(~a(u,n)||l(u,n));return u}},function(t,e,n){var i=n(37),o=n(148),r=n(43),a=function(t){return function(e,n,a){var s,l=i(e),c=r(l),u=o(a,c);if(t&&n!=n){for(;c>u;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((t||u in l)&&l[u]===n)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,e,n){var i=n(83),o=Math.max,r=Math.min;t.exports=function(t,e){var n=i(t);return n<0?o(n+e,0):r(n,e)}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=Math.trunc||function(t){var e=+t;return(e>0?i:n)(e)}},function(t,e,n){var i=n(83),o=Math.min;t.exports=function(t){return t>0?o(i(t),9007199254740991):0}},function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(3),o=n(1),r=/#|\.prototype\./,a=function(t,e){var n=l[s(t)];return n==u||n!=c&&(o(e)?i(e):!!e)},s=a.normalize=function(t){return String(t).replace(r,".").toLowerCase()},l=a.data={},c=a.NATIVE="N",u=a.POLYFILL="P";t.exports=a},function(t,e,n){var i=n(76),o=n(41),r=n(65),a=n(43),s=TypeError,l=function(t){return function(e,n,l,c){i(n);var u=o(e),p=r(u),m=a(u),d=t?m-1:0,h=t?-1:1;if(l<2)for(;;){if(d in p){c=p[d],d+=h;break}if(d+=h,t?d<0:m<=d)throw s("Reduce of empty array with no initial value")}for(;t?d>=0:m>d;d+=h)d in p&&(c=n(c,p[d],d,u));return c}};t.exports={left:l(!1),right:l(!0)}},function(t,e,n){"use strict";var i=n(3);t.exports=function(t,e){var n=[][t];return!!n&&i((function(){n.call(null,e||function(){return 1},1)}))}},function(t,e,n){var i=n(18),o=n(2);t.exports="process"==i(o.process)},function(t,e,n){"use strict";var i=n(6),o=n(158),r=TypeError,a=Object.getOwnPropertyDescriptor,s=i&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=s?function(t,e){if(o(t)&&!a(t,"length").writable)throw r("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},function(t,e,n){var i=n(18);t.exports=Array.isArray||function(t){return"Array"==i(t)}},function(t,e){var n=TypeError;t.exports=function(t){if(t>9007199254740991)throw n("Maximum allowed index exceeded");return t}},function(t,e,n){var i=n(35),o=Function.prototype,r=o.apply,a=o.call;t.exports="object"==typeof Reflect&&Reflect.apply||(i?a.bind(r):function(){return a.apply(r,arguments)})},function(t,e,n){"use strict";var i=n(22),o=n(8),r=n(23),a=n(72),s=n(84),l=n(82),c=n(163),u=n(164),p=n(165),m=n(169),d=n(170),h=n(171),f=n(6),g=n(78);t.exports=function(t,e,n,v){var y=v?2:1,w=t.split("."),b=w[w.length-1],_=i.apply(null,w);if(_){var k=_.prototype;if(!g&&o(k,"cause")&&delete k.cause,!n)return _;var x=i("Error"),C=e((function(t,e){var n=p(v?e:t,void 0),i=v?new _(t):new _;return void 0!==n&&r(i,"message",n),h&&r(i,"stack",d(i.stack,2)),this&&a(k,this)&&u(i,this,C),arguments.length>y&&m(i,arguments[y]),i}));if(C.prototype=k,"Error"!==b?s?s(C,x):l(C,x,{name:!0}):f&&"stackTraceLimit"in _&&(c(C,_,"stackTraceLimit"),c(C,_,"prepareStackTrace")),l(C,_),!g)try{k.name!==b&&r(k,"name",b),k.constructor=C}catch(t){}return C}}},function(t,e,n){var i=n(1),o=String,r=TypeError;t.exports=function(t){if("object"==typeof t||i(t))return t;throw r("Can't set "+o(t)+" as a prototype")}},function(t,e,n){var i=n(24).f;t.exports=function(t,e,n){n in t||i(t,n,{configurable:!0,get:function(){return e[n]},set:function(t){e[n]=t}})}},function(t,e,n){var i=n(1),o=n(11),r=n(84);t.exports=function(t,e,n){var a,s;return r&&i(a=e.constructor)&&a!==n&&o(s=a.prototype)&&s!==n.prototype&&r(t,s),t}},function(t,e,n){var i=n(166);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:i(t)}},function(t,e,n){var i=n(167),o=String;t.exports=function(t){if("Symbol"===i(t))throw TypeError("Cannot convert a Symbol value to a string");return o(t)}},function(t,e,n){var i=n(168),o=n(1),r=n(18),a=n(38)("toStringTag"),s=Object,l="Arguments"==r(function(){return arguments}());t.exports=i?r:function(t){var e,n,i;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=s(t),a))?n:l?r(e):"Object"==(i=r(e))&&o(e.callee)?"Arguments":i}},function(t,e,n){var i={};i[n(38)("toStringTag")]="z",t.exports="[object z]"===String(i)},function(t,e,n){var i=n(11),o=n(23);t.exports=function(t,e){i(e)&&"cause"in e&&o(t,"cause",e.cause)}},function(t,e,n){var i=n(7),o=Error,r=i("".replace),a=String(o("zxcasd").stack),s=/\n\s*at [^:]*:[^\n]*/,l=s.test(a);t.exports=function(t,e){if(l&&"string"==typeof t&&!o.prepareStackTrace)for(;e--;)t=r(t,s,"");return t}},function(t,e,n){var i=n(3),o=n(36);t.exports=!i((function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",o(1,7)),7!==t.stack)}))},function(t,e,n){var i=n(85),o=n(173);t.exports=function t(e,n,r,a,s){var l=-1,c=e.length;for(r||(r=o),s||(s=[]);++l0&&r(u)?n>1?t(u,n-1,r,a,s):i(s,u):a||(s[s.length]=u)}return s}},function(t,e,n){var i=n(19),o=n(25),r=n(4),a=i?i.isConcatSpreadable:void 0;t.exports=function(t){return r(t)||o(t)||!!(a&&t&&t[a])}},function(t,e,n){var i=n(17),o=n(10);t.exports=function(t){return o(t)&&"[object Arguments]"==i(t)}},function(t,e,n){var i=n(19),o=Object.prototype,r=o.hasOwnProperty,a=o.toString,s=i?i.toStringTag:void 0;t.exports=function(t){var e=r.call(t,s),n=t[s];try{t[s]=void 0;var i=!0}catch(t){}var o=a.call(t);return i&&(e?t[s]=n:delete t[s]),o}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var i=n(178),o=n(230),r=n(58),a=n(4),s=n(240);t.exports=function(t){return"function"==typeof t?t:null==t?r:"object"==typeof t?a(t)?o(t[0],t[1]):i(t):s(t)}},function(t,e,n){var i=n(179),o=n(229),r=n(97);t.exports=function(t){var e=o(t);return 1==e.length&&e[0][2]?r(e[0][0],e[0][1]):function(n){return n===t||i(n,t,e)}}},function(t,e,n){var i=n(44),o=n(48);t.exports=function(t,e,n,r){var a=n.length,s=a,l=!r;if(null==t)return!s;for(t=Object(t);a--;){var c=n[a];if(l&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++a-1}},function(t,e,n){var i=n(27);t.exports=function(t,e){var n=this.__data__,o=i(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},function(t,e,n){var i=n(26);t.exports=function(){this.__data__=new i,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var i=n(26),o=n(45),r=n(47);t.exports=function(t,e){var n=this.__data__;if(n instanceof i){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new r(a)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var i=n(46),o=n(191),r=n(9),a=n(87),s=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,p=c.hasOwnProperty,m=RegExp("^"+u.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!r(t)||o(t))&&(i(t)?m:s).test(a(t))}},function(t,e,n){var i,o=n(192),r=(i=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"";t.exports=function(t){return!!r&&r in t}},function(t,e,n){var i=n(5)["__core-js_shared__"];t.exports=i},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e,n){var i=n(195),o=n(26),r=n(45);t.exports=function(){this.size=0,this.__data__={hash:new i,map:new(r||o),string:new i}}},function(t,e,n){var i=n(196),o=n(197),r=n(198),a=n(199),s=n(200);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var i=n(89),o=n(250),r=n(255),a=n(90),s=n(256),l=n(49);t.exports=function(t,e,n){var c=-1,u=o,p=t.length,m=!0,d=[],h=d;if(n)m=!1,u=r;else if(p>=200){var f=e?null:s(t);if(f)return l(f);m=!1,u=a,h=new i}else h=e?[]:d;t:for(;++c-1}},function(t,e,n){var i=n(252),o=n(253),r=n(254);t.exports=function(t,e,n){return e==e?r(t,e,n):i(t,o,n)}},function(t,e){t.exports=function(t,e,n,i){for(var o=t.length,r=n+(i?1:-1);i?r--:++r1?n[r-1]:void 0,s=r>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(r--,a):void 0,s&&o(n[0],n[1],s)&&(a=r<3?void 0:a,r=1),e=Object(e);++i=e?t:""+Array(e+1-i.length).join(n)+t},v={s:g,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),i=Math.floor(n/60),o=n%60;return(e<=0?"+":"-")+g(i,2,"0")+":"+g(o,2,"0")},m:function t(e,n){if(e.date()1)return t(a[0])}else{var s=e.name;w[s]=e,o=s}return!i&&o&&(y=o),o||!i&&y},k=function(t,e){if(b(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new C(n)},x=v;x.l=_,x.i=b,x.w=function(t,e){return k(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var C=function(){function f(t){this.$L=_(t.locale,null,!0),this.parse(t)}var g=f.prototype;return g.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(x.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(d);if(i){var o=i[2]-1||0,r=(i[7]||"0").substring(0,3);return n?new Date(Date.UTC(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,r)):new Date(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,r)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},g.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},g.$utils=function(){return x},g.isValid=function(){return!(this.$d.toString()===m)},g.isSame=function(t,e){var n=k(t);return this.startOf(e)<=n&&n<=this.endOf(e)},g.isAfter=function(t,e){return k(t)0)return function(t){if((t=String(t)).length>100)return;var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(!e)return;var a=parseFloat(e[1]);switch((e[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"days":case"day":case"d":return a*r;case"hours":case"hour":case"hrs":case"hr":case"h":return a*o;case"minutes":case"minute":case"mins":case"min":case"m":return a*i;case"seconds":case"second":case"secs":case"sec":case"s":return a*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(t);if("number"===l&&!1===isNaN(t))return e.long?a(s=t,r,"day")||a(s,o,"hour")||a(s,i,"minute")||a(s,n,"second")||s+" ms":function(t){if(t>=r)return Math.round(t/r)+"d";if(t>=o)return Math.round(t/o)+"h";if(t>=i)return Math.round(t/i)+"m";if(t>=n)return Math.round(t/n)+"s";return t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},function(t,e,n){},function(t,e,n){"use strict";n.r(e),e.default={noGlobalSocialShare:!0,isPlain:!0,twitterUser:"visnalize",networks:["twitter","facebook","reddit","telegram"],networksData:{facebook:{sharer:"https://www.facebook.com/sharer/sharer.php?u=@url&title=@title&description=@description"e=@quote&hashtag=@hashtags",type:"popup",color:"#3b5998",icon:''},line:{sharer:"https://line.me/R/msg/text/?@description%0D%0A@url",type:"popup",color:"#00b902",icon:''},reddit:{sharer:"https://www.reddit.com/submit?url=@url&title=@title",type:"popup",color:"#ff4501",icon:''},skype:{sharer:"https://web.skype.com/share?url=@description%0D%0A@url",type:"popup",color:"#00aff0",icon:''},telegram:{sharer:"https://t.me/share/url?url=@url&text=@description",type:"popup",color:"#2fa8dc",icon:''},twitter:{sharer:"https://twitter.com/intent/tweet?text=@title&url=@url&hashtags=@hashtags@twitteruser",type:"popup",color:"#1da1f2",icon:''},weibo:{sharer:"http://service.weibo.com/share/share.php?url=@url&title=@title&pic=@media",type:"popup",color:"#e6172d",icon:''},qq:{sharer:'https://connect.qq.com/widget/shareqq/index.html?url=@url&title=@title&source=@title&desc=@description&pics=@media&summary="@description"',type:"popup",color:"#e9201f",icon:''},douban:{sharer:"https://shuo.douban.com/!service/share?href=@url&name=@title&text=@description&image=@media&starid=0&aid=0&style=11",type:"popup",color:"#00b51d",icon:''},whatsapp:{sharer:"https://api.whatsapp.com/send?text=@description%0D%0A@url",type:"popup",color:"#1bb1a5",action:"share/whatsapp/share",icon:''},wechat:{type:"qrcode",color:"#1aad19",icon:''}}}},function(t,e,n){"use strict";var i=function(t){return function(t){return!!t&&"object"==typeof t}(t)&&!function(t){var e=Object.prototype.toString.call(t);return"[object RegExp]"===e||"[object Date]"===e||function(t){return t.$$typeof===o}(t)}(t)};var o="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(t,e){var n;return e&&!0===e.clone&&i(t)?s((n=t,Array.isArray(n)?[]:{}),t,e):t}function a(t,e,n){var o=t.slice();return e.forEach((function(e,a){void 0===o[a]?o[a]=r(e,n):i(e)?o[a]=s(t[a],e,n):-1===t.indexOf(e)&&o.push(r(e,n))})),o}function s(t,e,n){var o=Array.isArray(e);return o===Array.isArray(t)?o?((n||{arrayMerge:a}).arrayMerge||a)(t,e,n):function(t,e,n){var o={};return i(t)&&Object.keys(t).forEach((function(e){o[e]=r(t[e],n)})),Object.keys(e).forEach((function(a){i(e[a])&&t[a]?o[a]=s(t[a],e[a],n):o[a]=r(e[a],n)})),o}(t,e,n):r(e,n)}s.all=function(t,e){if(!Array.isArray(t)||t.length<2)throw new Error("first argument should be an array with at least two elements");return t.reduce((function(t,n){return s(t,n,e)}))};var l=s;t.exports=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BASE_NETWORKS=void 0,e.BASE_NETWORKS={facebook:{sharer:"https://www.facebook.com/sharer/sharer.php?u=@url&title=@title&description=@description"e=@quote&hashtag=@hashtags",type:"popup",color:"#3b5998",icon:''},line:{sharer:"https://line.me/R/msg/text/?@description%0D%0A@url",type:"popup",color:"#00b902",icon:''},reddit:{sharer:"https://www.reddit.com/submit?url=@url&title=@title",type:"popup",color:"#ff4501",icon:''},skype:{sharer:"https://web.skype.com/share?url=@description%0D%0A@url",type:"popup",color:"#00aff0",icon:''},telegram:{sharer:"https://t.me/share/url?url=@url&text=@description",type:"popup",color:"#2fa8dc",icon:''},twitter:{sharer:"https://twitter.com/intent/tweet?text=@title&url=@url&hashtags=@hashtags@twitteruser",type:"popup",color:"#1da1f2",icon:''},weibo:{sharer:"http://service.weibo.com/share/share.php?url=@url&title=@title&pic=@media",type:"popup",color:"#e6172d",icon:''},qq:{sharer:'https://connect.qq.com/widget/shareqq/index.html?url=@url&title=@title&source=@title&desc=@description&pics=@media&summary="@description"',type:"popup",color:"#e9201f",icon:''},douban:{sharer:"https://shuo.douban.com/!service/share?href=@url&name=@title&text=@description&image=@media&starid=0&aid=0&style=11",type:"popup",color:"#00b51d",icon:''},whatsapp:{sharer:"https://api.whatsapp.com/send?text=@description%0D%0A@url",type:"popup",color:"#1bb1a5",action:"share/whatsapp/share",icon:''},wechat:{type:"qrcode",color:"#1aad19",icon:''},email:{sharer:"mailto:@email?subject=@title&body=@url%0D%0A%0D%0A@description",type:"direct",color:"#d4237a",icon:''}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(109),o={name:"SocialShareNetwork",inheritAttrs:!1,props:{network:{type:Object,validator:t=>!!t.icon&&(!["popup"].includes(t.type)||Boolean(t.sharer)),required:!0},isPlain:{type:Boolean,default:!1}},computed:{isSvgIcon(){return(0,i.isSVG)(this.network.icon)},shareUrl(){let{sharer:t=""}=this.network;const{url:e,title:n,quote:i,media:o,hashtags:r,description:a,twitterUser:s}=this.$parent;return["twitter"].includes(this.network.name)&&!r.length&&(t=t.replace("&hashtags=@hashtags","")),t.replace(/@url/g,encodeURIComponent(e)).replace(/@title/g,encodeURIComponent(n)).replace(/@media/g,o).replace(/@description/g,encodeURIComponent(a)).replace(/@quote/g,encodeURIComponent(i)).replace(/@hashtags/g,this.generateHashTags(r)).replace(/@twitteruser/g,s?"&via="+s:"")}},methods:{generateHashTags(t=""){const{name:e}=this.network;return["facebook"].includes(e)&&t.length?"%23"+t.split(",")[0]:t},share(){var t,e;const{name:n,type:i}=this.network,o=this.$parent;switch(i){case"popup":null===(t=o.openSharer)||void 0===t||t.call(o,this.shareUrl,{name:n,url:o.url});break;case"qrcode":null===(e=o.showQRCode)||void 0===e||e.call(o);break;case"direct":window.open(this.shareUrl,"_self")}this.$root.$emit("social-share-open",{name:n,url:o.url})}},render(t){const e=e=>this.isSvgIcon?t("span",{style:{color:!this.isPlain&&e.color},attrs:{class:"social-share-icon-svg",focusable:"false"},domProps:{innerHTML:this.network.icon}}):t("span",{style:{backgroundImage:`url(${e.icon})`},attrs:{class:"social-share-icon-img"}});return t("li",{attrs:{class:"social-share-network",role:"option"}},[(n=>t("button",{attrs:{"data-link":"popup"===n.type?"#share-"+n.name:this.shareUrl,class:"social-share-btn",title:n.name,type:"button",role:"button"},on:{click:this.share}},[e(n)]))(this.network)])}};e.default=o},function(t,e,n){const i=n(288),o=n(289),r=n(307),a=n(308);function s(t,e,n,r,a){const s=[].slice.call(arguments,1),l=s.length,c="function"==typeof s[l-1];if(!c&&!i())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(n=e,e=r=void 0):2!==l||e.getContext||(r=n,n=e,e=void 0),new Promise((function(i,a){try{const a=o.create(n,r);i(t(a,e,r))}catch(t){a(t)}}))}if(l<2)throw new Error("Too few arguments provided");2===l?(a=n,n=e,e=r=void 0):3===l&&(e.getContext&&void 0===a?(a=r,r=void 0):(a=r,r=n,n=e,e=void 0));try{const i=o.create(n,r);a(null,t(i,e,r))}catch(t){a(t)}}e.create=o.create,e.toCanvas=s.bind(null,r.render),e.toDataURL=s.bind(null,r.renderToDataURL),e.toString=s.bind(null,(function(t,e,n){return a.render(t,n)}))},function(t,e){t.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},function(t,e,n){const i=n(13),o=n(60),r=n(290),a=n(291),s=n(292),l=n(293),c=n(294),u=n(111),p=n(295),m=n(298),d=n(299),h=n(14),f=n(300);function g(t,e,n){const i=t.size,o=d.getEncodedBits(e,n);let r,a;for(r=0;r<15;r++)a=1==(o>>r&1),r<6?t.set(r,8,a,!0):r<8?t.set(r+1,8,a,!0):t.set(i-15+r,8,a,!0),r<8?t.set(8,i-r-1,a,!0):r<9?t.set(8,15-r-1+1,a,!0):t.set(8,15-r-1,a,!0);t.set(i-8,8,1,!0)}function v(t,e,n){const o=new r;n.forEach((function(e){o.put(e.mode.bit,4),o.put(e.getLength(),h.getCharCountIndicator(e.mode,t)),e.write(o)}));const a=8*(i.getSymbolTotalCodewords(t)-u.getTotalCodewordsCount(t,e));for(o.getLengthInBits()+4<=a&&o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(0);const s=(a-o.getLengthInBits())/8;for(let t=0;t=0&&e<=6&&(0===i||6===i)||i>=0&&i<=6&&(0===e||6===e)||e>=2&&e<=4&&i>=2&&i<=4?t.set(o+e,r+i,!0,!0):t.set(o+e,r+i,!1,!0))}}(h,e),function(t){const e=t.size;for(let n=8;n=7&&function(t,e){const n=t.size,i=m.getEncodedBits(e);let o,r,a;for(let e=0;e<18;e++)o=Math.floor(e/3),r=e%3+n-8-3,a=1==(i>>e&1),t.set(o,r,a,!0),t.set(r,o,a,!0)}(h,e),function(t,e){const n=t.size;let i=-1,o=n-1,r=7,a=0;for(let s=n-1;s>0;s-=2)for(6===s&&s--;;){for(let n=0;n<2;n++)if(!t.isReserved(o,s-n)){let i=!1;a>>r&1)),t.set(o,s-n,i),r--,-1===r&&(a++,r=7)}if(o+=i,o<0||n<=o){o-=i,i=-i;break}}}(h,p),isNaN(o)&&(o=c.getBestMask(h,g.bind(null,h,n))),c.applyMask(o,h),g(h,n,o),{modules:h,version:e,errorCorrectionLevel:n,maskPattern:o,segments:r}}e.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");let n,r,a=o.M;return void 0!==e&&(a=o.from(e.errorCorrectionLevel,o.M),n=m.from(e.version),r=c.from(e.maskPattern),e.toSJISFunc&&i.setToSJISFunction(e.toSJISFunc)),y(t,n,a,r)}},function(t,e){function n(){this.buffer=[],this.length=0}n.prototype={get:function(t){const e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(let n=0;n>>e-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){const e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},t.exports=n},function(t,e){function n(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}n.prototype.set=function(t,e,n,i){const o=t*this.size+e;this.data[o]=n,i&&(this.reservedBit[o]=!0)},n.prototype.get=function(t,e){return this.data[t*this.size+e]},n.prototype.xor=function(t,e,n){this.data[t*this.size+e]^=n},n.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},t.exports=n},function(t,e,n){const i=n(13).getSymbolSize;e.getRowColCoords=function(t){if(1===t)return[];const e=Math.floor(t/7)+2,n=i(t),o=145===n?26:2*Math.ceil((n-13)/(2*e-2)),r=[n-7];for(let t=1;t=0&&t<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(t){const e=t.size;let i=0,o=0,r=0,a=null,s=null;for(let l=0;l=5&&(i+=n+(o-5)),a=e,o=1),e=t.get(c,l),e===s?r++:(r>=5&&(i+=n+(r-5)),s=e,r=1)}o>=5&&(i+=n+(o-5)),r>=5&&(i+=n+(r-5))}return i},e.getPenaltyN2=function(t){const e=t.size;let n=0;for(let i=0;i=10&&(1488===i||93===i)&&n++,r=r<<1&2047|t.get(a,o),a>=10&&(1488===r||93===r)&&n++}return n*o},e.getPenaltyN4=function(t){let e=0;const n=t.data.length;for(let i=0;i0){const t=new Uint8Array(this.degree);return t.set(n,o),t}return n},t.exports=o},function(t,e,n){const i=n(297);e.mul=function(t,e){const n=new Uint8Array(t.length+e.length-1);for(let o=0;o=0;){const t=n[0];for(let o=0;o1)return function(t,n){for(let i=1;i<=40;i++){if(u(t,i)<=e.getCapacity(i,n,a.MIXED))return i}}(t,o);if(0===t.length)return 1;i=t[0]}else i=t;return function(t,n,i){for(let o=1;o<=40;o++)if(n<=e.getCapacity(o,i,t))return o}(i.mode,i.getLength(),o)},e.getEncodedBits=function(t){if(!s.isValid(t)||t<7)throw new Error("Invalid QR Code version");let e=t<<12;for(;i.getBCHDigit(e)-l>=0;)e^=7973<=0;)r^=1335<=0?t[t.length-1]:null;return n&&n.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)}),[])}(a))},e.rawSplit=function(t){return e.fromArray(d(t,c.isKanjiModeEnabled()))}},function(t,e,n){const i=n(14);function o(t){this.mode=i.NUMERIC,this.data=t.toString()}o.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(t){let e,n,i;for(e=0;e+3<=this.data.length;e+=3)n=this.data.substr(e,3),i=parseInt(n,10),t.put(i,10);const o=this.data.length-e;o>0&&(n=this.data.substr(e),i=parseInt(n,10),t.put(i,3*o+1))},t.exports=o},function(t,e,n){const i=n(14),o=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function r(t){this.mode=i.ALPHANUMERIC,this.data=t}r.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){let e;for(e=0;e+2<=this.data.length;e+=2){let n=45*o.indexOf(this.data[e]);n+=o.indexOf(this.data[e+1]),t.put(n,11)}this.data.length%2&&t.put(o.indexOf(this.data[e]),6)},t.exports=r},function(t,e,n){const i=n(304),o=n(14);function r(t){this.mode=o.BYTE,"string"==typeof t&&(t=i(t)),this.data=new Uint8Array(t)}r.getBitsLength=function(t){return 8*t},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){for(let e=0,n=this.data.length;e=55296&&o<=56319&&n>i+1){var r=t.charCodeAt(i+1);r>=56320&&r<=57343&&(o=1024*(o-55296)+r-56320+65536,i+=1)}o<128?e.push(o):o<2048?(e.push(o>>6|192),e.push(63&o|128)):o<55296||o>=57344&&o<65536?(e.push(o>>12|224),e.push(o>>6&63|128),e.push(63&o|128)):o>=65536&&o<=1114111?(e.push(o>>18|240),e.push(o>>12&63|128),e.push(o>>6&63|128),e.push(63&o|128)):e.push(239,191,189)}return new Uint8Array(e).buffer}},function(t,e,n){const i=n(14),o=n(13);function r(t){this.mode=i.KANJI,this.data=t}r.getBitsLength=function(t){return 13*t},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){let e;for(e=0;e=33088&&n<=40956)n-=33088;else{if(!(n>=57408&&n<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");n-=49472}n=192*(n>>>8&255)+(255&n),t.put(n,13)}},t.exports=r},function(t,e,n){"use strict";var i={single_source_shortest_paths:function(t,e,n){var o={},r={};r[e]=0;var a,s,l,c,u,p,m,d=i.PriorityQueue.make();for(d.push(e,0);!d.empty();)for(l in s=(a=d.pop()).value,c=a.cost,u=t[s]||{})u.hasOwnProperty(l)&&(p=c+u[l],m=r[l],(void 0===r[l]||m>p)&&(r[l]=p,d.push(l,p),o[l]=s));if(void 0!==n&&void 0===r[n]){var h=["Could not find a path from ",e," to ",n,"."].join("");throw new Error(h)}return o},extract_shortest_path_from_predecessor_list:function(t,e){for(var n=[],i=e;i;)n.push(i),t[i],i=t[i];return n.reverse(),n},find_path:function(t,e,n){var o=i.single_source_shortest_paths(t,e,n);return i.extract_shortest_path_from_predecessor_list(o,n)},PriorityQueue:{make:function(t){var e,n=i.PriorityQueue,o={};for(e in t=t||{},n)n.hasOwnProperty(e)&&(o[e]=n[e]);return o.queue=[],o.sorter=t.sorter||n.default_sorter,o},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var n={value:t,cost:e};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};t.exports=i},function(t,e,n){const i=n(114);e.render=function(t,e,n){let o=n,r=e;void 0!==o||e&&e.getContext||(o=e,e=void 0),e||(r=function(){try{return document.createElement("canvas")}catch(t){throw new Error("You need to specify a canvas element")}}()),o=i.getOptions(o);const a=i.getImageWidth(t.modules.size,o),s=r.getContext("2d"),l=s.createImageData(a,a);return i.qrToImageData(l.data,t,o),function(t,e,n){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=n,e.width=n,e.style.height=n+"px",e.style.width=n+"px"}(s,r,a),s.putImageData(l,0,0),r},e.renderToDataURL=function(t,n,i){let o=i;void 0!==o||n&&n.getContext||(o=n,n=void 0),o||(o={});const r=e.render(t,n,o),a=o.type||"image/png",s=o.rendererOpts||{};return r.toDataURL(a,s.quality)}},function(t,e,n){const i=n(114);function o(t,e){const n=t.a/255,i=e+'="'+t.hex+'"';return n<1?i+" "+e+'-opacity="'+n.toFixed(2).slice(1)+'"':i}function r(t,e,n){let i=t+e;return void 0!==n&&(i+=" "+n),i}e.render=function(t,e,n){const a=i.getOptions(e),s=t.modules.size,l=t.modules.data,c=s+2*a.margin,u=a.color.light.a?"':"",p="0&&c>0&&t[l-1]||(i+=a?r("M",c+n,.5+u+n):r("m",o,0),o=0,a=!1),c+1',m='viewBox="0 0 '+c+" "+c+'"',d=''+u+p+"\n";return"function"==typeof n&&n(null,d),d}},function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=n(110),r=i(n(108)),a={name:"GlobalSocialShare",inheritAttrs:!1,computed:{visible(){return!(this.$frontmatter.noGlobalSocialShare||this.$frontmatter.noSocialShare)}},data:()=>({isActive:!1}),methods:{handleClick(t){const{target:e}=t;this.$el.contains&&(this.$el.contains(e)||(this.isActive=!1))},toggle(t){this.isActive=!this.isActive,t.stopPropagation()}},render(t){if(!this.visible)return null;const e=()=>t("span",{class:"social-share-icon-svg",domProps:{innerHTML:this.isActive?o.SVG_ICON_CLOSE:o.SVG_ICON_SHARE}});return t("div",{attrs:{class:"social-share-global"}},[(()=>t(r.default,{style:{display:this.isActive?"block":"none"},props:Object.assign({},this.$attrs)}))(),(()=>t("button",{attrs:{class:"social-share-btn social-share-trigger",type:"button",role:"button"},on:{click:this.toggle}},[e()]))()])},mounted(){document.addEventListener("click",this.handleClick),this.$once("hook:beforeDestroy",()=>{document.removeEventListener("click",this.handleClick)})}};e.default=a},function(t,e,n){"use strict";n(115)},function(t,e,n){"use strict";n(116)},function(t,e,n){"use strict";n.r(e);var i=n(0); +/*! + * vue-router v3.6.5 + * (c) 2022 Evan You + * @license MIT + */function o(t,e){for(var n in e)t[n]=e[n];return t}var r=/[!'()*]/g,a=function(t){return"%"+t.charCodeAt(0).toString(16)},s=/%2C/g,l=function(t){return encodeURIComponent(t).replace(r,a).replace(s,",")};function c(t){try{return decodeURIComponent(t)}catch(t){0}return t}var u=function(t){return null==t||"object"==typeof t?t:String(t)};function p(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),i=c(n.shift()),o=n.length>0?c(n.join("=")):null;void 0===e[i]?e[i]=o:Array.isArray(e[i])?e[i].push(o):e[i]=[e[i],o]})),e):e}function m(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return l(e);if(Array.isArray(n)){var i=[];return n.forEach((function(t){void 0!==t&&(null===t?i.push(l(e)):i.push(l(e)+"="+l(t)))})),i.join("&")}return l(e)+"="+l(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var d=/\/?$/;function h(t,e,n,i){var o=i&&i.options.stringifyQuery,r=e.query||{};try{r=f(r)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:r,params:e.params||{},fullPath:y(e,o),matched:t?v(t):[]};return n&&(a.redirectedFrom=y(n,o)),Object.freeze(a)}function f(t){if(Array.isArray(t))return t.map(f);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=f(t[n]);return e}return t}var g=h(null,{path:"/"});function v(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function y(t,e){var n=t.path,i=t.query;void 0===i&&(i={});var o=t.hash;return void 0===o&&(o=""),(n||"/")+(e||m)(i)+o}function w(t,e,n){return e===g?t===e:!!e&&(t.path&&e.path?t.path.replace(d,"")===e.path.replace(d,"")&&(n||t.hash===e.hash&&b(t.query,e.query)):!(!t.name||!e.name)&&(t.name===e.name&&(n||t.hash===e.hash&&b(t.query,e.query)&&b(t.params,e.params))))}function b(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t).sort(),i=Object.keys(e).sort();return n.length===i.length&&n.every((function(n,o){var r=t[n];if(i[o]!==n)return!1;var a=e[n];return null==r||null==a?r===a:"object"==typeof r&&"object"==typeof a?b(r,a):String(r)===String(a)}))}function _(t){for(var e=0;e=0&&(e=t.slice(i),t=t.slice(0,i));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}(r.path||""),m=e&&e.path||"/",d=c.path?C(c.path,m,n||r.append):m,h=function(t,e,n){void 0===e&&(e={});var i,o=n||p;try{i=o(t||"")}catch(t){i={}}for(var r in e){var a=e[r];i[r]=Array.isArray(a)?a.map(u):u(a)}return i}(c.query,r.query,i&&i.options.parseQuery),f=r.hash||c.hash;return f&&"#"!==f.charAt(0)&&(f="#"+f),{_normalized:!0,path:d,query:h,hash:f}}var V,H=function(){},G={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,n=this.$router,i=this.$route,r=n.resolve(this.to,i,this.append),a=r.location,s=r.route,l=r.href,c={},u=n.options.linkActiveClass,p=n.options.linkExactActiveClass,m=null==u?"router-link-active":u,f=null==p?"router-link-exact-active":p,g=null==this.activeClass?m:this.activeClass,v=null==this.exactActiveClass?f:this.exactActiveClass,y=s.redirectedFrom?h(null,F(s.redirectedFrom),null,n):s;c[v]=w(i,y,this.exactPath),c[g]=this.exact||this.exactPath?c[v]:function(t,e){return 0===t.path.replace(d,"/").indexOf(e.path.replace(d,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(i,y);var b=c[v]?this.ariaCurrentValue:null,_=function(t){Y(t)&&(e.replace?n.replace(a,H):n.push(a,H))},k={click:Y};Array.isArray(this.event)?this.event.forEach((function(t){k[t]=_})):k[this.event]=_;var x={class:c},C=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:l,route:s,navigate:_,isActive:c[g],isExactActive:c[v]});if(C){if(1===C.length)return C[0];if(C.length>1||!C.length)return 0===C.length?t():t("span",{},C)}if("a"===this.tag)x.on=k,x.attrs={href:l,"aria-current":b};else{var S=function t(e){var n;if(e)for(var i=0;i-1&&(s.params[m]=n.params[m]);return s.path=R(u.path,s.params),l(u,s,a)}if(s.path){s.params={};for(var d=0;d-1}function St(t,e){return Ct(t)&&t._isRouter&&(null==e||t.type===e)}function Pt(t,e,n){var i=function(o){o>=t.length?n():t[o]?e(t[o],(function(){i(o+1)})):i(o+1)};i(0)}function Tt(t){return function(e,n,i){var o=!1,r=0,a=null;zt(t,(function(t,e,n,s){if("function"==typeof t&&void 0===t.cid){o=!0,r++;var l,c=At((function(e){var o;((o=e).__esModule||Ot&&"Module"===o[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:V.extend(e),n.components[s]=e,--r<=0&&i()})),u=At((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=Ct(t)?t:new Error(e),i(a))}));try{l=t(c,u)}catch(t){u(t)}if(l)if("function"==typeof l.then)l.then(c,u);else{var p=l.component;p&&"function"==typeof p.then&&p.then(c,u)}}})),o||i()}}function zt(t,e){return Et(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function Et(t){return Array.prototype.concat.apply([],t)}var Ot="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function At(t){var e=!1;return function(){for(var n=[],i=arguments.length;i--;)n[i]=arguments[i];if(!e)return e=!0,t.apply(this,n)}}var $t=function(t,e){this.router=t,this.base=function(t){if(!t)if(K){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";"/"!==t.charAt(0)&&(t="/"+t);return t.replace(/\/$/,"")}(e),this.current=g,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function Mt(t,e,n,i){var o=zt(t,(function(t,i,o,r){var a=function(t,e){"function"!=typeof t&&(t=V.extend(t));return t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map((function(t){return n(t,i,o,r)})):n(a,i,o,r)}));return Et(i?o.reverse():o)}function jt(t,e){if(e)return function(){return t.apply(e,arguments)}}$t.prototype.listen=function(t){this.cb=t},$t.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},$t.prototype.onError=function(t){this.errorCbs.push(t)},$t.prototype.transitionTo=function(t,e,n){var i,o=this;try{i=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var r=this.current;this.confirmTransition(i,(function(){o.updateRoute(i),e&&e(i),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(i,r)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(i)})))}),(function(t){n&&n(t),t&&!o.ready&&(St(t,wt.redirected)&&r===g||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},$t.prototype.confirmTransition=function(t,e,n){var i=this,o=this.current;this.pending=t;var r,a,s=function(t){!St(t)&&Ct(t)&&(i.errorCbs.length?i.errorCbs.forEach((function(e){e(t)})):console.error(t)),n&&n(t)},l=t.matched.length-1,c=o.matched.length-1;if(w(t,o)&&l===c&&t.matched[l]===o.matched[c])return this.ensureURL(),t.hash&&st(this.router,o,t,!1),s(((a=kt(r=o,t,wt.duplicated,'Avoided redundant navigation to current location: "'+r.fullPath+'".')).name="NavigationDuplicated",a));var u=function(t,e){var n,i=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,i=gt&&n;i&&this.listeners.push(at());var o=function(){var n=t.current,o=Lt(t.base);t.current===g&&o===t._startLocation||t.transitionTo(o,(function(t){i&&st(e,t,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var i=this,o=this.current;this.transitionTo(t,(function(t){vt(S(i.base+t.fullPath)),st(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var i=this,o=this.current;this.transitionTo(t,(function(t){yt(S(i.base+t.fullPath)),st(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(Lt(this.base)!==this.current.fullPath){var e=S(this.base+this.current.fullPath);t?vt(e):yt(e)}},e.prototype.getCurrentLocation=function(){return Lt(this.base)},e}($t);function Lt(t){var e=window.location.pathname,n=e.toLowerCase(),i=t.toLowerCase();return!t||n!==i&&0!==n.indexOf(S(i+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var It=function(t){function e(e,n,i){t.call(this,e,n),i&&function(t){var e=Lt(t);if(!/^\/#/.test(e))return window.location.replace(S(t+"/#"+e)),!0}(this.base)||Wt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,n=gt&&e;n&&this.listeners.push(at());var i=function(){var e=t.current;Wt()&&t.transitionTo(Nt(),(function(i){n&&st(t.router,i,e,!0),gt||Dt(i.fullPath)}))},o=gt?"popstate":"hashchange";window.addEventListener(o,i),this.listeners.push((function(){window.removeEventListener(o,i)}))}},e.prototype.push=function(t,e,n){var i=this,o=this.current;this.transitionTo(t,(function(t){qt(t.fullPath),st(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var i=this,o=this.current;this.transitionTo(t,(function(t){Dt(t.fullPath),st(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Nt()!==e&&(t?qt(e):Dt(e))},e.prototype.getCurrentLocation=function(){return Nt()},e}($t);function Wt(){var t=Nt();return"/"===t.charAt(0)||(Dt("/"+t),!1)}function Nt(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function Ut(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function qt(t){gt?vt(Ut(t)):window.location.hash=t}function Dt(t){gt?yt(Ut(t)):window.location.replace(Ut(t))}var Rt=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var i=this;this.transitionTo(t,(function(t){i.stack=i.stack.slice(0,i.index+1).concat(t),i.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var i=this;this.transitionTo(t,(function(t){i.stack=i.stack.slice(0,i.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var i=this.stack[n];this.confirmTransition(i,(function(){var t=e.current;e.index=n,e.updateRoute(i),e.router.afterHooks.forEach((function(e){e&&e(i,t)}))}),(function(t){St(t,wt.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}($t),Ft=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Q(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!gt&&!1!==t.fallback,this.fallback&&(e="hash"),K||(e="abstract"),this.mode=e,e){case"history":this.history=new Bt(this,t.base);break;case"hash":this.history=new It(this,t.base,this.fallback);break;case"abstract":this.history=new Rt(this,t.base);break;default:0}},Vt={currentRoute:{configurable:!0}};Ft.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Vt.currentRoute.get=function(){return this.history&&this.history.current},Ft.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof Bt||n instanceof It){var i=function(t){n.setupListeners(),function(t){var i=n.current,o=e.options.scrollBehavior;gt&&o&&"fullPath"in t&&st(e,t,i,!1)}(t)};n.transitionTo(n.getCurrentLocation(),i,i)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Ft.prototype.beforeEach=function(t){return Gt(this.beforeHooks,t)},Ft.prototype.beforeResolve=function(t){return Gt(this.resolveHooks,t)},Ft.prototype.afterEach=function(t){return Gt(this.afterHooks,t)},Ft.prototype.onReady=function(t,e){this.history.onReady(t,e)},Ft.prototype.onError=function(t){this.history.onError(t)},Ft.prototype.push=function(t,e,n){var i=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){i.history.push(t,e,n)}));this.history.push(t,e,n)},Ft.prototype.replace=function(t,e,n){var i=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){i.history.replace(t,e,n)}));this.history.replace(t,e,n)},Ft.prototype.go=function(t){this.history.go(t)},Ft.prototype.back=function(){this.go(-1)},Ft.prototype.forward=function(){this.go(1)},Ft.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Ft.prototype.resolve=function(t,e,n){var i=F(t,e=e||this.history.current,n,this),o=this.match(i,e),r=o.redirectedFrom||o.fullPath;return{location:i,route:o,href:function(t,e,n){var i="hash"===n?"#"+e:e;return t?S(t+"/"+i):i}(this.history.base,r,this.mode),normalizedTo:i,resolved:o}},Ft.prototype.getRoutes=function(){return this.matcher.getRoutes()},Ft.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==g&&this.history.transitionTo(this.history.getCurrentLocation())},Ft.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==g&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Ft.prototype,Vt);var Ht=Ft;function Gt(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}Ft.install=function t(e){if(!t.installed||V!==e){t.installed=!0,V=e;var n=function(t){return void 0!==t},i=function(t,e){var i=t.$options._parentVnode;n(i)&&n(i=i.data)&&n(i=i.registerRouteInstance)&&i(t,e)};e.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,i(this,this)},destroyed:function(){i(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",k),e.component("RouterLink",G);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Ft.version="3.6.5",Ft.isNavigationFailure=St,Ft.NavigationFailureType=wt,Ft.START_LOCATION=g,K&&window.Vue&&window.Vue.use(Ft);n(63);n(61),n(62);var Yt={NotFound:()=>n.e(55).then(n.bind(null,488)),Layout:()=>Promise.all([n.e(0),n.e(1)]).then(n.bind(null,317)),BlogList:()=>Promise.all([n.e(0),n.e(1),n.e(16)]).then(n.bind(null,489)),BlogPost:()=>Promise.all([n.e(0),n.e(1),n.e(7)]).then(n.bind(null,490)),FeatureList:()=>Promise.all([n.e(0),n.e(1),n.e(10)]).then(n.bind(null,491)),FeaturePage:()=>Promise.all([n.e(0),n.e(1),n.e(8)]).then(n.bind(null,492)),Visnalize:()=>Promise.all([n.e(0),n.e(1),n.e(47)]).then(n.bind(null,318)),WithComments:()=>Promise.all([n.e(0),n.e(1),n.e(17)]).then(n.bind(null,493)),WithSideAds:()=>Promise.all([n.e(0),n.e(1),n.e(18)]).then(n.bind(null,494))},Kt={"v-01aa2ce2":()=>n.e(52).then(n.bind(null,530)),"v-7cbecfe2":()=>n.e(65).then(n.bind(null,531)),"v-667fa73c":()=>n.e(67).then(n.bind(null,532)),"v-79f79f20":()=>n.e(11).then(n.bind(null,533)),"v-2fec31fc":()=>n.e(66).then(n.bind(null,534)),"v-ff74563c":()=>n.e(68).then(n.bind(null,535)),"v-469b7b80":()=>n.e(12).then(n.bind(null,536)),"v-ac7b70bc":()=>n.e(48).then(n.bind(null,537)),"v-17861269":()=>n.e(69).then(n.bind(null,538)),"v-4b7e6c3c":()=>n.e(13).then(n.bind(null,539)),"v-fbbdb2e0":()=>n.e(70).then(n.bind(null,540)),"v-194e1218":()=>n.e(19).then(n.bind(null,541)),"v-26dc8250":()=>n.e(71).then(n.bind(null,542)),"v-1131db82":()=>n.e(72).then(n.bind(null,543)),"v-3fb87dbc":()=>n.e(73).then(n.bind(null,544)),"v-44a529fc":()=>n.e(50).then(n.bind(null,545)),"v-bfc8be7c":()=>n.e(51).then(n.bind(null,546)),"v-4182c7bc":()=>n.e(49).then(n.bind(null,547)),"v-3424310c":()=>n.e(20).then(n.bind(null,548)),"v-72bfdbc2":()=>n.e(74).then(n.bind(null,549)),"v-301172dc":()=>n.e(75).then(n.bind(null,550)),"v-6796123c":()=>n.e(76).then(n.bind(null,551)),"v-3692f0a2":()=>n.e(77).then(n.bind(null,552)),"v-84d6517c":()=>n.e(78).then(n.bind(null,553)),"v-16be053c":()=>n.e(79).then(n.bind(null,554)),"v-7716093c":()=>n.e(4).then(n.bind(null,555)),"v-6444650a":()=>n.e(80).then(n.bind(null,556)),"v-2af59a42":()=>n.e(81).then(n.bind(null,557)),"v-6cc96c82":()=>n.e(82).then(n.bind(null,558)),"v-08727ec0":()=>n.e(84).then(n.bind(null,559)),"v-ba31739c":()=>n.e(85).then(n.bind(null,560)),"v-98844e8a":()=>n.e(83).then(n.bind(null,561)),"v-8cd4b9a4":()=>n.e(86).then(n.bind(null,562)),"v-e8bf05a2":()=>n.e(87).then(n.bind(null,563)),"v-530b246c":()=>n.e(88).then(n.bind(null,564)),"v-7c23e4bc":()=>n.e(90).then(n.bind(null,565)),"v-0d73ba82":()=>n.e(89).then(n.bind(null,566)),"v-3dbeba22":()=>n.e(91).then(n.bind(null,567)),"v-1f96767c":()=>n.e(93).then(n.bind(null,568)),"v-33b74904":()=>n.e(92).then(n.bind(null,569)),"v-6baf4482":()=>n.e(94).then(n.bind(null,570)),"v-2ddd3eac":()=>n.e(95).then(n.bind(null,571)),"v-aa648488":()=>n.e(98).then(n.bind(null,572)),"v-10412362":()=>n.e(96).then(n.bind(null,573)),"v-1e6132e6":()=>n.e(97).then(n.bind(null,574)),"v-7d425f36":()=>n.e(101).then(n.bind(null,575)),"v-ff06623c":()=>n.e(99).then(n.bind(null,576)),"v-856c7aa8":()=>n.e(100).then(n.bind(null,577)),"v-605a7f7c":()=>n.e(102).then(n.bind(null,578)),"v-6078d960":()=>n.e(103).then(n.bind(null,579)),"v-6e4fcf02":()=>n.e(104).then(n.bind(null,580)),"v-9c0e9874":()=>n.e(105).then(n.bind(null,581)),"v-482face2":()=>n.e(106).then(n.bind(null,582)),"v-6a81288c":()=>n.e(108).then(n.bind(null,583)),"v-190bf8bc":()=>n.e(107).then(n.bind(null,584)),"v-496f6bc2":()=>n.e(109).then(n.bind(null,585)),"v-9c5b69dc":()=>n.e(110).then(n.bind(null,586)),"v-e435f744":()=>n.e(111).then(n.bind(null,587)),"v-51b76d92":()=>n.e(113).then(n.bind(null,588)),"v-2cf24a82":()=>n.e(14).then(n.bind(null,589)),"v-10fbe366":()=>n.e(112).then(n.bind(null,590)),"v-007b4402":()=>n.e(5).then(n.bind(null,591)),"v-05767d49":()=>n.e(53).then(n.bind(null,592))};function Jt(t){const e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}const Xt=/-(\w)/g,Qt=Jt(t=>t.replace(Xt,(t,e)=>e?e.toUpperCase():"")),Zt=/\B([A-Z])/g,te=Jt(t=>t.replace(Zt,"-$1").toLowerCase()),ee=Jt(t=>t.charAt(0).toUpperCase()+t.slice(1));function ne(t,e){if(!e)return;if(t(e))return t(e);return e.includes("-")?t(ee(Qt(e))):t(ee(e))||t(te(e))}const ie=Object.assign({},Yt,Kt),oe=t=>ie[t],re=t=>Kt[t],ae=t=>Yt[t],se=t=>i.a.component(t);function le(t){return ne(re,t)}function ce(t){return ne(ae,t)}function ue(t){return ne(oe,t)}function pe(t){return ne(se,t)}function me(...t){return Promise.all(t.filter(t=>t).map(async t=>{if(!pe(t)&&ue(t)){const e=await ue(t)();i.a.component(t,e.default)}}))}function de(t,e){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[t]=e)}var he=n(117),fe=n.n(he),ge=n(118),ve=n.n(ge),ye={created(){if(this.siteMeta=this.$site.headTags.filter(([t])=>"meta"===t).map(([t,e])=>e),this.$ssrContext){const e=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(t=e)?t.map(t=>{let e="{e+=` ${n}="${ve()(t[n])}"`}),e+">"}).join("\n "):"",this.$ssrContext.canonicalLink=be(this.$canonicalUrl)}var t},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const t=this.getMergedMetaTags();this.currentMetaTags=_e(t,this.currentMetaTags)},getMergedMetaTags(){const t=this.$page.frontmatter.meta||[];return fe()([{name:"description",content:this.$description}],t,this.siteMeta,ke)},updateCanonicalLink(){we(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",be(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){_e(null,this.currentMetaTags),we()}};function we(){const t=document.querySelector("link[rel='canonical']");t&&t.remove()}function be(t=""){return t?``:""}function _e(t,e){if(e&&[...e].filter(t=>t.parentNode===document.head).forEach(t=>document.head.removeChild(t)),t)return t.map(t=>{const e=document.createElement("meta");return Object.keys(t).forEach(n=>{e.setAttribute(n,t[n])}),document.head.appendChild(e),e})}function ke(t){for(const e of["name","property","itemprop"])if(t.hasOwnProperty(e))return t[e]+e;return JSON.stringify(t)}var xe=n(119),Ce={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(xe)()((function(){this.setActiveHash()}),300),setActiveHash(){const t=[].slice.call(document.querySelectorAll(".sidebar-link")),e=[].slice.call(document.querySelectorAll(".header-anchor")).filter(e=>t.some(t=>t.hash===e.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),i=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),o=window.innerHeight+n;for(let t=0;t=r.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},Se=n(32),Pe=n.n(Se),Te={mounted(){Pe.a.configure({showSpinner:!1}),this.$router.beforeEach((t,e,n)=>{t.path===e.path||i.a.component(t.name)||Pe.a.start(),n()}),this.$router.afterEach(()=>{Pe.a.done(),this.isSidebarOpen=!1})}},ze=n(120),Ee=n.n(ze),Oe=[ye,Ce,Te,{mounted(){Ee.a.polyfill()}}],Ae={name:"GlobalLayout",computed:{layout(){const t=this.getLayout();return de("layout",t),i.a.component(t)}},methods:{getLayout(){if(this.$page.path){const t=this.$page.frontmatter.layout;return t&&(this.$vuepress.getLayoutAsyncComponent(t)||this.$vuepress.getVueComponent(t))?t:"Layout"}return"NotFound"}}},$e=n(16),Me=Object($e.a)(Ae,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(t,e,n){switch(e){case"components":t[e]||(t[e]={}),Object.assign(t[e],n);break;case"mixins":t[e]||(t[e]=[]),t[e].push(...n);break;default:throw new Error("Unknown option name.")}}(Me,"mixins",Oe);const je=[{name:"v-01aa2ce2",path:"/blog/building-visnalize-com.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-01aa2ce2").then(n)}},{name:"v-7cbecfe2",path:"/about.html",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-7cbecfe2").then(n)}},{name:"v-667fa73c",path:"/blog/concealing-online-identity.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-667fa73c").then(n)}},{name:"v-79f79f20",path:"/blog/about-the-ads.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-79f79f20").then(n)}},{name:"v-2fec31fc",path:"/blog/building-win7-simu.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-2fec31fc").then(n)}},{name:"v-ff74563c",path:"/blog/from-codepen-to-app.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-ff74563c").then(n)}},{name:"v-469b7b80",path:"/blog/game-stick-lite-4k-adding-games.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-469b7b80").then(n)}},{name:"v-ac7b70bc",path:"/blog/from-side-project-to-side-hustle.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-ac7b70bc").then(n)}},{name:"v-17861269",path:"/blog/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-17861269").then(n)}},{path:"/blog/index.html",redirect:"/blog/"},{name:"v-4b7e6c3c",path:"/blog/load-any-websites-in-iframes.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-4b7e6c3c").then(n)}},{name:"v-fbbdb2e0",path:"/blog/simulator-vs-emulator.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-fbbdb2e0").then(n)}},{name:"v-194e1218",path:"/blog/visnalize-year-in-review-2023.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-194e1218").then(n)}},{name:"v-26dc8250",path:"/blog/why-side-hustle.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-26dc8250").then(n)}},{name:"v-1131db82",path:"/blog/win7-icons-viewer-downloader.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-1131db82").then(n)}},{name:"v-3fb87dbc",path:"/blog/win7-simu-custom-cursors.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-3fb87dbc").then(n)}},{name:"v-44a529fc",path:"/blog/win7-simu-mobile-devices.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-44a529fc").then(n)}},{name:"v-bfc8be7c",path:"/blog/win7-simu-windows-media-center.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-bfc8be7c").then(n)}},{name:"v-4182c7bc",path:"/blog/win7-simu-file-explorer.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-4182c7bc").then(n)}},{name:"v-3424310c",path:"/blog/win7-simu-year-in-review-2022.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-3424310c").then(n)}},{name:"v-72bfdbc2",path:"/blog/win7-ui-introduction.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-72bfdbc2").then(n)}},{name:"v-301172dc",path:"/blog/windows-resources.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-301172dc").then(n)}},{name:"v-6796123c",path:"/brick1100/about.html",component:Me,beforeEnter:(t,e,n)=>{me("WithComments","v-6796123c").then(n)}},{name:"v-3692f0a2",path:"/brick1100/builders.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-3692f0a2").then(n)}},{name:"v-84d6517c",path:"/brick1100/changelog.html",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-84d6517c").then(n)}},{name:"v-16be053c",path:"/brick1100/deep-links.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-16be053c").then(n)}},{name:"v-7716093c",path:"/brick1100/games.html",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-7716093c").then(n)}},{name:"v-6444650a",path:"/brick1100/",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-6444650a").then(n)}},{path:"/brick1100/index.html",redirect:"/brick1100/"},{name:"v-2af59a42",path:"/brick1100/privacy.html",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-2af59a42").then(n)}},{name:"v-6cc96c82",path:"/contact.html",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-6cc96c82").then(n)}},{name:"v-08727ec0",path:"/win7simu/about.html",component:Me,beforeEnter:(t,e,n)=>{me("WithComments","v-08727ec0").then(n)}},{name:"v-ba31739c",path:"/win7simu/changelog.html",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-ba31739c").then(n)}},{name:"v-98844e8a",path:"/",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-98844e8a").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-8cd4b9a4",path:"/win7simu/faq.html",component:Me,beforeEnter:(t,e,n)=>{me("WithComments","v-8cd4b9a4").then(n)}},{name:"v-e8bf05a2",path:"/win7simu/",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-e8bf05a2").then(n)}},{path:"/win7simu/index.html",redirect:"/win7simu/"},{name:"v-530b246c",path:"/win7simu/privacy.html",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-530b246c").then(n)}},{name:"v-7c23e4bc",path:"/win7simu/simulated/calculator.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-7c23e4bc").then(n)}},{name:"v-0d73ba82",path:"/win7simu/simulated/bios.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-0d73ba82").then(n)}},{name:"v-3dbeba22",path:"/win7simu/simulated/chrome.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-3dbeba22").then(n)}},{name:"v-1f96767c",path:"/win7simu/simulated/cpanel.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-1f96767c").then(n)}},{name:"v-33b74904",path:"/win7simu/simulated/cmd.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-33b74904").then(n)}},{name:"v-6baf4482",path:"/win7simu/simulated/fileexplorer.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-6baf4482").then(n)}},{name:"v-2ddd3eac",path:"/win7simu/simulated/gadgets.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-2ddd3eac").then(n)}},{name:"v-aa648488",path:"/win7simu/simulated/magnifier.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-aa648488").then(n)}},{name:"v-10412362",path:"/win7simu/simulated/ie.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-10412362").then(n)}},{name:"v-1e6132e6",path:"/win7simu/simulated/",component:Me,beforeEnter:(t,e,n)=>{me("FeatureList","v-1e6132e6").then(n)}},{path:"/win7simu/simulated/index.html",redirect:"/win7simu/simulated/"},{name:"v-7d425f36",path:"/win7simu/simulated/notepad.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-7d425f36").then(n)}},{name:"v-ff06623c",path:"/win7simu/simulated/media-player.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-ff06623c").then(n)}},{name:"v-856c7aa8",path:"/win7simu/simulated/minesweeper.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-856c7aa8").then(n)}},{name:"v-605a7f7c",path:"/win7simu/simulated/paint.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-605a7f7c").then(n)}},{name:"v-6078d960",path:"/win7simu/simulated/personalize.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-6078d960").then(n)}},{name:"v-6e4fcf02",path:"/win7simu/simulated/programs.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-6e4fcf02").then(n)}},{name:"v-9c0e9874",path:"/win7simu/simulated/purbleplace.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-9c0e9874").then(n)}},{name:"v-482face2",path:"/win7simu/simulated/recorder.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-482face2").then(n)}},{name:"v-6a81288c",path:"/win7simu/simulated/solitaire.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-6a81288c").then(n)}},{name:"v-190bf8bc",path:"/win7simu/simulated/snipping.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-190bf8bc").then(n)}},{name:"v-496f6bc2",path:"/win7simu/simulated/sticky.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-496f6bc2").then(n)}},{name:"v-9c5b69dc",path:"/win7simu/simulated/taskmgr.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-9c5b69dc").then(n)}},{name:"v-e435f744",path:"/win7simu/simulated/wmc.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-e435f744").then(n)}},{name:"v-51b76d92",path:"/win7simu/themestudio/changelog.html",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-51b76d92").then(n)}},{name:"v-2cf24a82",path:"/win7simu/themestudio/in-depth-guide.html",component:Me,beforeEnter:(t,e,n)=>{me("WithComments","v-2cf24a82").then(n)}},{name:"v-10fbe366",path:"/win7simu/simulated/wordpad.html",component:Me,beforeEnter:(t,e,n)=>{me("FeaturePage","v-10fbe366").then(n)}},{name:"v-007b4402",path:"/win7simu/themestudio/quick-guide.html",component:Me,beforeEnter:(t,e,n)=>{me("WithComments","v-007b4402").then(n)}},{name:"v-05767d49",path:"/win7simu/themestudio/",component:Me,beforeEnter:(t,e,n)=>{me("BlogPost","v-05767d49").then(n)}},{path:"/win7simu/themestudio/index.html",redirect:"/win7simu/themestudio/"},{name:"v-0326206d",path:"/blog/tag/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-0326206d").then(n)},meta:{pid:"tag",id:"tag"}},{path:"/blog/tag/index.html",redirect:"/blog/tag/"},{name:"v-62ece89f",path:"/blog/tag/technical/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-62ece89f").then(n)},meta:{pid:"tag",id:"technical"}},{path:"/blog/tag/technical/index.html",redirect:"/blog/tag/technical/"},{name:"v-0052e380",path:"/blog/tag/sharing/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-0052e380").then(n)},meta:{pid:"tag",id:"sharing"}},{path:"/blog/tag/sharing/index.html",redirect:"/blog/tag/sharing/"},{name:"v-3e40a282",path:"/blog/tag/random/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-3e40a282").then(n)},meta:{pid:"tag",id:"random"}},{path:"/blog/tag/random/index.html",redirect:"/blog/tag/random/"},{name:"v-60422faa",path:"/blog/tag/tips/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-60422faa").then(n)},meta:{pid:"tag",id:"tips"}},{path:"/blog/tag/tips/index.html",redirect:"/blog/tag/tips/"},{name:"v-791b612c",path:"/blog/tag/win7-simu/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-791b612c").then(n)},meta:{pid:"tag",id:"win7-simu"}},{path:"/blog/tag/win7-simu/index.html",redirect:"/blog/tag/win7-simu/"},{name:"v-549e50f6",path:"/blog/tag/brick-1100/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-549e50f6").then(n)},meta:{pid:"tag",id:"brick-1100"}},{path:"/blog/tag/brick-1100/index.html",redirect:"/blog/tag/brick-1100/"},{name:"v-2fb4226c",path:"/blog/tag/review/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-2fb4226c").then(n)},meta:{pid:"tag",id:"review"}},{path:"/blog/tag/review/index.html",redirect:"/blog/tag/review/"},{name:"v-af50673e",path:"/blog/tag/tools/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-af50673e").then(n)},meta:{pid:"tag",id:"tools"}},{path:"/blog/tag/tools/index.html",redirect:"/blog/tag/tools/"},{name:"v-26a044cd",path:"/blog/tag/guest-post/",component:Me,beforeEnter:(t,e,n)=>{me("BlogList","v-26a044cd").then(n)},meta:{pid:"tag",id:"guest-post"}},{path:"/blog/tag/guest-post/index.html",redirect:"/blog/tag/guest-post/"},{name:"v-1f534b11",path:"/blog/tag/win7-simu/page/2/",component:Me,beforeEnter:(t,e,n)=>{me("Layout","v-1f534b11").then(n)},meta:{pid:"tag",id:"win7-simu"}},{path:"/blog/tag/win7-simu/page/2/index.html",redirect:"/blog/tag/win7-simu/page/2/"},{path:"*",component:Me}],Be={title:"Visnalize",description:"",base:"/",headTags:[["link",{rel:"icon",href:"/assets/favicon.png"}],["meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}],["script",{async:!0,src:"https://code.iconify.design/iconify-icon/2.1.0/iconify-icon.min.js"}],["script",{},"(function() { typeof localStorage !== 'undefined' && localStorage.getItem('darkMode') === 'true' && document.documentElement.classList.add('is-dark'); })()"],["script",{async:!0,"data-ad-client":"ca-pub-5904323684803247",src:"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"}],["script",{async:!0,src:"https://www.googletagmanager.com/gtag/js?id=G-TRC2SF4L67"}],["script",{},"window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-TRC2SF4L67');"],["script",{async:!0,src:"https://fundingchoicesmessages.google.com/i/pub-5904323684803247?ers=1",nonce:"3HRDcENAr3Egc7skT36mnQ"}],["script",{nonce:"3HRDcENAr3Egc7skT36mnQ"},"(function () { function signalGooglefcPresent() { if (!window.frames['googlefcPresent']) { if (document.body) { const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe); } else { setTimeout(signalGooglefcPresent, 0); } } } signalGooglefcPresent(); })();"],["link",{rel:"alternate",type:"application/rss+xml",href:"https://visnalize.com/rss.xml",title:"Visnalize RSS Feed"}],["link",{rel:"alternate",type:"application/atom+xml",href:"https://visnalize.com/feed.atom",title:"Visnalize Atom Feed"}],["link",{rel:"alternate",type:"application/json",href:"https://visnalize.com/feed.json",title:"Visnalize JSON Feed"}]],pages:[{title:"How I built visnalize.com",frontmatter:{layout:"BlogPost",description:"Read about the progress and how I built the visnalize.com website for my own brand",sidebar:"auto",tag:"technical",meta:[{name:"image",content:"https://images.unsplash.com/photo-1461749280684-dccba630e2f6?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"How I built visnalize.com"},{name:"twitter:description",content:"Read about the progress and how I built the visnalize.com website for my own brand"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1461749280684-dccba630e2f6?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/building-visnalize-com.html"},{property:"og:type",content:"article"},{property:"og:title",content:"How I built visnalize.com"},{property:"og:description",content:"Read about the progress and how I built the visnalize.com website for my own brand"},{property:"og:image",content:"https://images.unsplash.com/photo-1461749280684-dccba630e2f6?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/building-visnalize-com.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"How I built visnalize.com"},{itemprop:"description",content:"Read about the progress and how I built the visnalize.com website for my own brand"},{itemprop:"image",content:"https://images.unsplash.com/photo-1461749280684-dccba630e2f6?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/building-visnalize-com.html",relativePath:"blog/building-visnalize-com.md",key:"v-01aa2ce2",path:"/blog/building-visnalize-com.html",headers:[{level:2,title:"The focus",slug:"the-focus"},{level:2,title:"The making",slug:"the-making"},{level:3,title:"Setup",slug:"setup"},{level:3,title:"Customizing",slug:"customizing"},{level:2,title:"The deployment",slug:"the-deployment"},{level:2,title:"Epilogue",slug:"epilogue"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"5/21/2022, 5:21:07 AM",firstCreatedTimestamp:1653110467e3},{title:"🙋‍♂️ About Me",frontmatter:{sidebar:!1,description:"Full-time software developer, free-time app maker. Author of Win7 Simu and Brick 1100. On a mission to relive the good old days.",image:"https://image.social/get?url=visnalize.com/about.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/about.html"},{name:"twitter:title",content:"🙋‍♂️ About Me"},{name:"twitter:description",content:"Full-time software developer, free-time app maker. Author of Win7 Simu and Brick 1100. On a mission to relive the good old days."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/about.html"},{name:"twitter:url",content:"https://visnalize.com/about.html"},{property:"og:type",content:"article"},{property:"og:title",content:"🙋‍♂️ About Me"},{property:"og:description",content:"Full-time software developer, free-time app maker. Author of Win7 Simu and Brick 1100. On a mission to relive the good old days."},{property:"og:image",content:"https://image.social/get?url=visnalize.com/about.html"},{property:"og:url",content:"https://visnalize.com/about.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"🙋‍♂️ About Me"},{itemprop:"description",content:"Full-time software developer, free-time app maker. Author of Win7 Simu and Brick 1100. On a mission to relive the good old days."},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/about.html"}]},regularPath:"/about.html",relativePath:"about.md",key:"v-7cbecfe2",path:"/about.html",headers:[{level:2,title:"Visnalize",slug:"visnalize"},{level:2,title:"Contact",slug:"contact"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"7/24/2021, 12:28:16 PM",firstCreatedTimestamp:1627129696e3},{title:"Why I choose to conceal my online identity",frontmatter:{layout:"BlogPost",description:"My takes on internet privacy and why I choose to conceal mine.",sidebar:"auto",tag:["sharing","random"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/concealing-online-identity.jpg"},{name:"twitter:title",content:"Why I choose to conceal my online identity"},{name:"twitter:description",content:"My takes on internet privacy and why I choose to conceal mine."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/concealing-online-identity.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/concealing-online-identity.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Why I choose to conceal my online identity"},{property:"og:description",content:"My takes on internet privacy and why I choose to conceal mine."},{property:"og:image",content:"https://visnalize.com/assets/covers/concealing-online-identity.jpg"},{property:"og:url",content:"https://visnalize.com/blog/concealing-online-identity.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Why I choose to conceal my online identity"},{itemprop:"description",content:"My takes on internet privacy and why I choose to conceal mine."},{itemprop:"image",content:"https://visnalize.com/assets/covers/concealing-online-identity.jpg"}]},regularPath:"/blog/concealing-online-identity.html",relativePath:"blog/concealing-online-identity.md",key:"v-667fa73c",path:"/blog/concealing-online-identity.html",headers:[{level:2,title:"1. Privacy",slug:"_1-privacy"},{level:2,title:"2. Security",slug:"_2-security"},{level:2,title:"3. Ethics",slug:"_3-ethics"},{level:2,title:"4. Commitment",slug:"_4-commitment"}],lastUpdated:"8/24/2024, 11:23:04 AM",lastUpdatedTimestamp:1724498584e3,firstCreated:"8/23/2024, 1:32:41 PM",firstCreatedTimestamp:1724419961e3},{title:"About the ads and how I implement them",frontmatter:{layout:"BlogPost",description:"A couple of things about ads and how I implement them within my websites and apps",sidebar:"auto",tag:["tips","sharing"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"About the ads and how I implement them"},{name:"twitter:description",content:"A couple of things about ads and how I implement them within my websites and apps"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/about-the-ads.html"},{property:"og:type",content:"article"},{property:"og:title",content:"About the ads and how I implement them"},{property:"og:description",content:"A couple of things about ads and how I implement them within my websites and apps"},{property:"og:image",content:"https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/about-the-ads.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"About the ads and how I implement them"},{itemprop:"description",content:"A couple of things about ads and how I implement them within my websites and apps"},{itemprop:"image",content:"https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/about-the-ads.html",relativePath:"blog/about-the-ads.md",key:"v-79f79f20",path:"/blog/about-the-ads.html",headers:[{level:2,title:"Choosing the Ad Network",slug:"choosing-the-ad-network"},{level:2,title:"Picking the Ad Format",slug:"picking-the-ad-format"},{level:3,title:"Mobile App",slug:"mobile-app"},{level:3,title:"Website",slug:"website"},{level:2,title:"Implementing ads",slug:"implementing-ads"},{level:3,title:"Win7 Simu",slug:"win7-simu"},{level:3,title:"This website",slug:"this-website"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"9/22/2021, 2:37:44 PM",firstCreatedTimestamp:1632321464e3},{title:"How I built Win7 Simu",frontmatter:{layout:"BlogPost",description:"Read about my journey with Win7 Simu, how it all started and unveiling some boring technical stuff behind the scene",sidebar:"auto",tag:["win7-simu","sharing","technical"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/building-win7-simu.jpg"},{name:"twitter:title",content:"How I built Win7 Simu"},{name:"twitter:description",content:"Read about my journey with Win7 Simu, how it all started and unveiling some boring technical stuff behind the scene"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/building-win7-simu.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/building-win7-simu.html"},{property:"og:type",content:"article"},{property:"og:title",content:"How I built Win7 Simu"},{property:"og:description",content:"Read about my journey with Win7 Simu, how it all started and unveiling some boring technical stuff behind the scene"},{property:"og:image",content:"https://visnalize.com/assets/covers/building-win7-simu.jpg"},{property:"og:url",content:"https://visnalize.com/blog/building-win7-simu.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"How I built Win7 Simu"},{itemprop:"description",content:"Read about my journey with Win7 Simu, how it all started and unveiling some boring technical stuff behind the scene"},{itemprop:"image",content:"https://visnalize.com/assets/covers/building-win7-simu.jpg"}]},regularPath:"/blog/building-win7-simu.html",relativePath:"blog/building-win7-simu.md",key:"v-2fec31fc",path:"/blog/building-win7-simu.html",headers:[{level:2,title:"How it all started",slug:"how-it-all-started"},{level:3,title:"The goal",slug:"the-goal"},{level:3,title:"The tech stack",slug:"the-tech-stack"},{level:2,title:"It's come a long way",slug:"it-s-come-a-long-way"},{level:2,title:"What's next",slug:"what-s-next"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"10/10/2022, 2:57:25 AM",firstCreatedTimestamp:1665370645e3},{title:"Turning my CodePen into an actual app",frontmatter:{layout:"BlogPost",description:"From a simple idea, what merely looked like a playful demo on CodePen, but turned into a full-fledged app",sidebar:"auto",tag:["brick-1100","sharing","technical"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/from-codepen-to-app.png"},{name:"twitter:title",content:"Turning my CodePen into an actual app"},{name:"twitter:description",content:"From a simple idea, what merely looked like a playful demo on CodePen, but turned into a full-fledged app"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/from-codepen-to-app.png"},{name:"twitter:url",content:"https://visnalize.com/blog/from-codepen-to-app.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Turning my CodePen into an actual app"},{property:"og:description",content:"From a simple idea, what merely looked like a playful demo on CodePen, but turned into a full-fledged app"},{property:"og:image",content:"https://visnalize.com/assets/covers/from-codepen-to-app.png"},{property:"og:url",content:"https://visnalize.com/blog/from-codepen-to-app.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Turning my CodePen into an actual app"},{itemprop:"description",content:"From a simple idea, what merely looked like a playful demo on CodePen, but turned into a full-fledged app"},{itemprop:"image",content:"https://visnalize.com/assets/covers/from-codepen-to-app.png"}]},regularPath:"/blog/from-codepen-to-app.html",relativePath:"blog/from-codepen-to-app.md",key:"v-ff74563c",path:"/blog/from-codepen-to-app.html",headers:[{level:2,title:"A silly idea that got realized",slug:"a-silly-idea-that-got-realized"},{level:2,title:"The making process",slug:"the-making-process"},{level:3,title:"Breaking down the components",slug:"breaking-down-the-components"},{level:3,title:"Adding some twists",slug:"adding-some-twists"},{level:2,title:"Final words",slug:"final-words"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"10/13/2023, 4:23:53 PM",firstCreatedTimestamp:1697214233e3},{title:"How to add more games to Game Stick Lite 4K",frontmatter:{layout:"BlogPost",description:"How to add games to Game Stick Lite 4K and enjoy more of your childhood games",sidebar:"auto",tag:["tips","random"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/game-stick-4k-lite.jpg"},{name:"twitter:title",content:"How to add more games to Game Stick Lite 4K"},{name:"twitter:description",content:"How to add games to Game Stick Lite 4K and enjoy more of your childhood games"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/game-stick-4k-lite.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/game-stick-lite-4k-adding-games.html"},{property:"og:type",content:"article"},{property:"og:title",content:"How to add more games to Game Stick Lite 4K"},{property:"og:description",content:"How to add games to Game Stick Lite 4K and enjoy more of your childhood games"},{property:"og:image",content:"https://visnalize.com/assets/covers/game-stick-4k-lite.jpg"},{property:"og:url",content:"https://visnalize.com/blog/game-stick-lite-4k-adding-games.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"How to add more games to Game Stick Lite 4K"},{itemprop:"description",content:"How to add games to Game Stick Lite 4K and enjoy more of your childhood games"},{itemprop:"image",content:"https://visnalize.com/assets/covers/game-stick-4k-lite.jpg"}]},regularPath:"/blog/game-stick-lite-4k-adding-games.html",relativePath:"blog/game-stick-lite-4k-adding-games.md",key:"v-469b7b80",path:"/blog/game-stick-lite-4k-adding-games.html",headers:[{level:2,title:"Prerequisites",slug:"prerequisites"},{level:2,title:"Step-by-step guide",slug:"step-by-step-guide"}],lastUpdated:"3/10/2024, 8:28:45 AM",lastUpdatedTimestamp:1710059325e3,firstCreated:"3/10/2024, 8:28:45 AM",firstCreatedTimestamp:1710059325e3},{title:"Turning my side project into a side hustle",frontmatter:{layout:"BlogPost",description:"From a side project for learning to a side hustle with recurring revenue, read about how I did it, the process, the tools, the tips and tricks.",sidebar:"auto",tag:["sharing","tips","win7-simu"],meta:[{name:"image",content:"https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ="},{name:"twitter:title",content:"Turning my side project into a side hustle"},{name:"twitter:description",content:"From a side project for learning to a side hustle with recurring revenue, read about how I did it, the process, the tools, the tips and tricks."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ="},{name:"twitter:url",content:"https://visnalize.com/blog/from-side-project-to-side-hustle.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Turning my side project into a side hustle"},{property:"og:description",content:"From a side project for learning to a side hustle with recurring revenue, read about how I did it, the process, the tools, the tips and tricks."},{property:"og:image",content:"https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ="},{property:"og:url",content:"https://visnalize.com/blog/from-side-project-to-side-hustle.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Turning my side project into a side hustle"},{itemprop:"description",content:"From a side project for learning to a side hustle with recurring revenue, read about how I did it, the process, the tools, the tips and tricks."},{itemprop:"image",content:"https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ="}]},regularPath:"/blog/from-side-project-to-side-hustle.html",relativePath:"blog/from-side-project-to-side-hustle.md",key:"v-ac7b70bc",path:"/blog/from-side-project-to-side-hustle.html",headers:[{level:2,title:"The beginning",slug:"the-beginning"},{level:3,title:"The idea that started it all",slug:"the-idea-that-started-it-all"},{level:3,title:"Building the surroundings",slug:"building-the-surroundings"},{level:2,title:"A diverse revenue model",slug:"a-diverse-revenue-model"},{level:3,title:"Ads",slug:"ads"},{level:3,title:"Subscriptions",slug:"subscriptions"},{level:3,title:"Partnerships",slug:"partnerships"},{level:2,title:"Disclosing the numbers",slug:"disclosing-the-numbers"},{level:2,title:"Final thoughts",slug:"final-thoughts"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"11/11/2023, 4:58:27 PM",firstCreatedTimestamp:1699721907e3},{title:"📝 Blog",frontmatter:{layout:"BlogList",title:"📝 Blog",description:"Helpful insights, sharing, tips and tricks on various topics from Visnalize, the creator of Win7 Simu, Brick 1100, and more",image:"https://image.social/get?url=visnalize.com/blog/",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/blog/"},{name:"twitter:title",content:"📝 Blog"},{name:"twitter:description",content:"Helpful insights, sharing, tips and tricks on various topics from Visnalize, the creator of Win7 Simu, Brick 1100, and more"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/blog/"},{name:"twitter:url",content:"https://visnalize.com/blog/"},{property:"og:type",content:"article"},{property:"og:title",content:"📝 Blog"},{property:"og:description",content:"Helpful insights, sharing, tips and tricks on various topics from Visnalize, the creator of Win7 Simu, Brick 1100, and more"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/blog/"},{property:"og:url",content:"https://visnalize.com/blog/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"📝 Blog"},{itemprop:"description",content:"Helpful insights, sharing, tips and tricks on various topics from Visnalize, the creator of Win7 Simu, Brick 1100, and more"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/blog/"}]},regularPath:"/blog/",relativePath:"blog/readme.md",key:"v-17861269",path:"/blog/",lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"8/4/2021, 2:48:25 AM",firstCreatedTimestamp:1628045305e3},{title:"How to get iframes to load any websites",frontmatter:{layout:"BlogPost",description:"The most effective way to get iframes embedded in your web apps to load any websites",sidebar:"auto",tag:["tips","technical","win7-simu"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/load-any-websites-in-iframes.png"},{name:"twitter:title",content:"How to get iframes to load any websites"},{name:"twitter:description",content:"The most effective way to get iframes embedded in your web apps to load any websites"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/load-any-websites-in-iframes.png"},{name:"twitter:url",content:"https://visnalize.com/blog/load-any-websites-in-iframes.html"},{property:"og:type",content:"article"},{property:"og:title",content:"How to get iframes to load any websites"},{property:"og:description",content:"The most effective way to get iframes embedded in your web apps to load any websites"},{property:"og:image",content:"https://visnalize.com/assets/covers/load-any-websites-in-iframes.png"},{property:"og:url",content:"https://visnalize.com/blog/load-any-websites-in-iframes.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"How to get iframes to load any websites"},{itemprop:"description",content:"The most effective way to get iframes embedded in your web apps to load any websites"},{itemprop:"image",content:"https://visnalize.com/assets/covers/load-any-websites-in-iframes.png"}]},regularPath:"/blog/load-any-websites-in-iframes.html",relativePath:"blog/load-any-websites-in-iframes.md",key:"v-4b7e6c3c",path:"/blog/load-any-websites-in-iframes.html",headers:[{level:2,title:"The scenario",slug:"the-scenario"},{level:2,title:"Step-by-step guide",slug:"step-by-step-guide"},{level:3,title:"1. Install Requestly browser extension",slug:"_1-install-requestly-browser-extension"},{level:3,title:"2. Import the predefined rules",slug:"_2-import-the-predefined-rules"},{level:3,title:"3. Enjoy",slug:"_3-enjoy"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"10/24/2022, 8:42:23 AM",firstCreatedTimestamp:1666600943e3},{title:"Simulators and Emulators: What's the difference?",frontmatter:{layout:"BlogPost",description:"Understand the differences between simulators and emulators, what they mean for Win7 Simu.",sidebar:"auto",tag:["tips","sharing","win7-simu"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/simulators-vs-emulators.png"},{name:"twitter:title",content:"Simulators and Emulators: What's the difference?"},{name:"twitter:description",content:"Understand the differences between simulators and emulators, what they mean for Win7 Simu."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/simulators-vs-emulators.png"},{name:"twitter:url",content:"https://visnalize.com/blog/simulator-vs-emulator.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Simulators and Emulators: What's the difference?"},{property:"og:description",content:"Understand the differences between simulators and emulators, what they mean for Win7 Simu."},{property:"og:image",content:"https://visnalize.com/assets/covers/simulators-vs-emulators.png"},{property:"og:url",content:"https://visnalize.com/blog/simulator-vs-emulator.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Simulators and Emulators: What's the difference?"},{itemprop:"description",content:"Understand the differences between simulators and emulators, what they mean for Win7 Simu."},{itemprop:"image",content:"https://visnalize.com/assets/covers/simulators-vs-emulators.png"}]},regularPath:"/blog/simulator-vs-emulator.html",relativePath:"blog/simulator-vs-emulator.md",key:"v-fbbdb2e0",path:"/blog/simulator-vs-emulator.html",headers:[{level:2,title:"What is an Emulator?",slug:"what-is-an-emulator"},{level:2,title:"What is a Simulator?",slug:"what-is-a-simulator"},{level:2,title:"What about Win7 Simu?",slug:"what-about-win7-simu"}],lastUpdated:"2/21/2024, 11:02:25 AM",lastUpdatedTimestamp:1708513345e3,firstCreated:"2/21/2024, 11:02:25 AM",firstCreatedTimestamp:1708513345e3},{title:"Visnalize year in review - 2023",frontmatter:{layout:"BlogPost",description:"Look back at some amazing achievements from Visnalize in 2023.",sidebar:"auto",tag:["win7-simu","brick-1100","review"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1579952775264-625f17561a5d?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"Visnalize year in review - 2023"},{name:"twitter:description",content:"Look back at some amazing achievements from Visnalize in 2023."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1579952775264-625f17561a5d?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/visnalize-year-in-review-2023.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Visnalize year in review - 2023"},{property:"og:description",content:"Look back at some amazing achievements from Visnalize in 2023."},{property:"og:image",content:"https://images.unsplash.com/photo-1579952775264-625f17561a5d?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/visnalize-year-in-review-2023.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Visnalize year in review - 2023"},{itemprop:"description",content:"Look back at some amazing achievements from Visnalize in 2023."},{itemprop:"image",content:"https://images.unsplash.com/photo-1579952775264-625f17561a5d?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/visnalize-year-in-review-2023.html",relativePath:"blog/visnalize-year-in-review-2023.md",key:"v-194e1218",path:"/blog/visnalize-year-in-review-2023.html",headers:[{level:2,title:"The amazing numbers",slug:"the-amazing-numbers"},{level:3,title:"Visnalize(.com)",slug:"visnalize-com"},{level:3,title:"Win7 Simu",slug:"win7-simu"},{level:3,title:"Brick 1100 (Beta)",slug:"brick-1100-beta"},{level:2,title:"Other accomplishments",slug:"other-accomplishments"},{level:3,title:"A new collaborator for Win7 Simu",slug:"a-new-collaborator-for-win7-simu"},{level:3,title:"New feedback channels for Brick 1100",slug:"new-feedback-channels-for-brick-1100"},{level:3,title:"A new chapter in life",slug:"a-new-chapter-in-life"},{level:2,title:"Looking out to 2024",slug:"looking-out-to-2024"}],lastUpdated:"9/5/2024, 4:51:57 PM",lastUpdatedTimestamp:1725555117e3,firstCreated:"1/1/2024, 2:18:12 AM",firstCreatedTimestamp:1704075492e3},{title:"Why you should have a side hustle",frontmatter:{layout:"BlogPost",description:"Some personal sharing about reasons and benefits of having a side hustle.",sidebar:"auto",tag:["sharing","tips"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/why-side-hustle.jpg"},{name:"twitter:title",content:"Why you should have a side hustle"},{name:"twitter:description",content:"Some personal sharing about reasons and benefits of having a side hustle."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/why-side-hustle.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/why-side-hustle.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Why you should have a side hustle"},{property:"og:description",content:"Some personal sharing about reasons and benefits of having a side hustle."},{property:"og:image",content:"https://visnalize.com/assets/covers/why-side-hustle.jpg"},{property:"og:url",content:"https://visnalize.com/blog/why-side-hustle.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Why you should have a side hustle"},{itemprop:"description",content:"Some personal sharing about reasons and benefits of having a side hustle."},{itemprop:"image",content:"https://visnalize.com/assets/covers/why-side-hustle.jpg"}]},regularPath:"/blog/why-side-hustle.html",relativePath:"blog/why-side-hustle.md",key:"v-26dc8250",path:"/blog/why-side-hustle.html",headers:[{level:2,title:"What is a side hustle?",slug:"what-is-a-side-hustle"},{level:2,title:"The benefits",slug:"the-benefits"},{level:3,title:"Extra income",slug:"extra-income"},{level:3,title:"Skill development",slug:"skill-development"},{level:3,title:"Networking",slug:"networking"},{level:3,title:"Job security",slug:"job-security"},{level:2,title:"The challenges",slug:"the-challenges"},{level:3,title:"Time commitment",slug:"time-commitment"},{level:3,title:"Discipline and motivation",slug:"discipline-and-motivation"},{level:2,title:"Conclusion",slug:"conclusion"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"7/14/2024, 6:06:44 AM",firstCreatedTimestamp:1720937204e3},{title:"Windows 7 icon Viewer/Downloader",frontmatter:{layout:"BlogPost",description:"A simple tool to view and download Windows 7 icon collection.",sidebar:"auto",tag:["technical","tools"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/win7-icons-viewer-downloader.jpg"},{name:"twitter:title",content:"Windows 7 icon Viewer/Downloader"},{name:"twitter:description",content:"A simple tool to view and download Windows 7 icon collection."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/win7-icons-viewer-downloader.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-icons-viewer-downloader.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Windows 7 icon Viewer/Downloader"},{property:"og:description",content:"A simple tool to view and download Windows 7 icon collection."},{property:"og:image",content:"https://visnalize.com/assets/covers/win7-icons-viewer-downloader.jpg"},{property:"og:url",content:"https://visnalize.com/blog/win7-icons-viewer-downloader.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Windows 7 icon Viewer/Downloader"},{itemprop:"description",content:"A simple tool to view and download Windows 7 icon collection."},{itemprop:"image",content:"https://visnalize.com/assets/covers/win7-icons-viewer-downloader.jpg"}]},regularPath:"/blog/win7-icons-viewer-downloader.html",relativePath:"blog/win7-icons-viewer-downloader.md",key:"v-1131db82",path:"/blog/win7-icons-viewer-downloader.html",headers:[{level:2,title:"How to use",slug:"how-to-use"},{level:2,title:"Technical stuff",slug:"technical-stuff"},{level:3,title:"Github as a CMS",slug:"github-as-a-cms"},{level:3,title:"The familiar front-end stack",slug:"the-familiar-front-end-stack"}],lastUpdated:"6/26/2023, 12:53:04 PM",lastUpdatedTimestamp:1687783984e3,firstCreated:"11/6/2022, 4:04:36 AM",firstCreatedTimestamp:1667707476e3},{title:"Implementing custom cursors in Win7 Simu",frontmatter:{layout:"BlogPost",description:"Deep dive into how custom cursors are implemented in Win7 Simu.",sidebar:"auto",tag:["sharing","win7-simu","technical"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/win7-simu-custom-cursors.jpg"},{name:"twitter:title",content:"Implementing custom cursors in Win7 Simu"},{name:"twitter:description",content:"Deep dive into how custom cursors are implemented in Win7 Simu."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/win7-simu-custom-cursors.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-simu-custom-cursors.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Implementing custom cursors in Win7 Simu"},{property:"og:description",content:"Deep dive into how custom cursors are implemented in Win7 Simu."},{property:"og:image",content:"https://visnalize.com/assets/covers/win7-simu-custom-cursors.jpg"},{property:"og:url",content:"https://visnalize.com/blog/win7-simu-custom-cursors.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Implementing custom cursors in Win7 Simu"},{itemprop:"description",content:"Deep dive into how custom cursors are implemented in Win7 Simu."},{itemprop:"image",content:"https://visnalize.com/assets/covers/win7-simu-custom-cursors.jpg"}]},regularPath:"/blog/win7-simu-custom-cursors.html",relativePath:"blog/win7-simu-custom-cursors.md",key:"v-3fb87dbc",path:"/blog/win7-simu-custom-cursors.html",headers:[{level:2,title:"The idea",slug:"the-idea"},{level:2,title:"The implementation",slug:"the-implementation"},{level:2,title:"The future",slug:"the-future"}],lastUpdated:"10/3/2024, 4:06:22 AM",lastUpdatedTimestamp:1727928382e3,firstCreated:"10/3/2024, 4:06:22 AM",firstCreatedTimestamp:1727928382e3},{title:"Win7 Simu versus mobile devices",frontmatter:{layout:"BlogPost",description:"How to install Win7 Simu on mobile devices without downloading from any App Stores.",sidebar:"auto",tag:["win7-simu","tips"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"Win7 Simu versus mobile devices"},{name:"twitter:description",content:"How to install Win7 Simu on mobile devices without downloading from any App Stores."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-simu-mobile-devices.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu versus mobile devices"},{property:"og:description",content:"How to install Win7 Simu on mobile devices without downloading from any App Stores."},{property:"og:image",content:"https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/win7-simu-mobile-devices.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu versus mobile devices"},{itemprop:"description",content:"How to install Win7 Simu on mobile devices without downloading from any App Stores."},{itemprop:"image",content:"https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/win7-simu-mobile-devices.html",relativePath:"blog/win7-simu-mobile-devices.md",key:"v-44a529fc",path:"/blog/win7-simu-mobile-devices.html",headers:[{level:2,title:"Step-by-step guide",slug:"step-by-step-guide"},{level:3,title:"1. Open Win7 Simu with Safari",slug:"_1-open-win7-simu-with-safari"},{level:3,title:"2. Add to Home Screen",slug:"_2-add-to-home-screen"},{level:3,title:"3. Enjoy",slug:"_3-enjoy"},{level:2,title:"Some notes",slug:"some-notes"}],lastUpdated:"6/26/2023, 12:53:04 PM",lastUpdatedTimestamp:1687783984e3,firstCreated:"3/27/2023, 3:25:55 PM",firstCreatedTimestamp:1679930755e3},{title:"Implementing Windows Media Center in Win7 Simu",frontmatter:{layout:"BlogPost",description:"Sharing on how Windows Media Center was implemented in Win7 Simu.",sidebar:"auto",tag:["sharing","win7-simu","technical","guest-post"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/win7-simu-windows-media-center.jpg"},{name:"twitter:title",content:"Implementing Windows Media Center in Win7 Simu"},{name:"twitter:description",content:"Sharing on how Windows Media Center was implemented in Win7 Simu."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/win7-simu-windows-media-center.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-simu-windows-media-center.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Implementing Windows Media Center in Win7 Simu"},{property:"og:description",content:"Sharing on how Windows Media Center was implemented in Win7 Simu."},{property:"og:image",content:"https://visnalize.com/assets/covers/win7-simu-windows-media-center.jpg"},{property:"og:url",content:"https://visnalize.com/blog/win7-simu-windows-media-center.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Implementing Windows Media Center in Win7 Simu"},{itemprop:"description",content:"Sharing on how Windows Media Center was implemented in Win7 Simu."},{itemprop:"image",content:"https://visnalize.com/assets/covers/win7-simu-windows-media-center.jpg"}]},regularPath:"/blog/win7-simu-windows-media-center.html",relativePath:"blog/win7-simu-windows-media-center.md",key:"v-bfc8be7c",path:"/blog/win7-simu-windows-media-center.html",headers:[{level:2,title:"The Scope",slug:"the-scope"},{level:2,title:"The Implementation",slug:"the-implementation"},{level:3,title:"Resource Files",slug:"resource-files"},{level:3,title:"The Intro Screen",slug:"the-intro-screen"},{level:3,title:"The Home Screen",slug:"the-home-screen"},{level:3,title:"The Photos + Videos Libraries",slug:"the-photos-videos-libraries"},{level:3,title:"The Music Library",slug:"the-music-library"},{level:2,title:"The Future?",slug:"the-future"}],lastUpdated:"10/3/2024, 4:06:22 AM",lastUpdatedTimestamp:1727928382e3,firstCreated:"4/15/2024, 12:16:47 PM",firstCreatedTimestamp:1713183407e3},{title:"Implementing File Explorer in Win7 Simu",frontmatter:{layout:"BlogPost",description:"Some key points to share about how Win7 Simu's File Explorer is implemented.",sidebar:"auto",tag:["sharing","win7-simu","technical"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"Implementing File Explorer in Win7 Simu"},{name:"twitter:description",content:"Some key points to share about how Win7 Simu's File Explorer is implemented."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-simu-file-explorer.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Implementing File Explorer in Win7 Simu"},{property:"og:description",content:"Some key points to share about how Win7 Simu's File Explorer is implemented."},{property:"og:image",content:"https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/win7-simu-file-explorer.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Implementing File Explorer in Win7 Simu"},{itemprop:"description",content:"Some key points to share about how Win7 Simu's File Explorer is implemented."},{itemprop:"image",content:"https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/win7-simu-file-explorer.html",relativePath:"blog/win7-simu-file-explorer.md",key:"v-4182c7bc",path:"/blog/win7-simu-file-explorer.html",headers:[{level:2,title:"Some difficulties",slug:"some-difficulties"},{level:2,title:"Implementing the File Explorer functionalities",slug:"implementing-the-file-explorer-functionalities"},{level:3,title:"Implementation for Android",slug:"implementation-for-android"},{level:3,title:"Implementation for Web",slug:"implementation-for-web"},{level:2,title:"So, what's next",slug:"so-what-s-next"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"5/26/2023, 12:11:38 PM",firstCreatedTimestamp:1685103098e3},{title:"Win7 Simu year in review - 2022",frontmatter:{layout:"BlogPost",description:"Look back at some amazing numbers for Win7 Simu in 2022.",sidebar:"auto",tag:["win7-simu","review"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"Win7 Simu year in review - 2022"},{name:"twitter:description",content:"Look back at some amazing numbers for Win7 Simu in 2022."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-simu-year-in-review-2022.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu year in review - 2022"},{property:"og:description",content:"Look back at some amazing numbers for Win7 Simu in 2022."},{property:"og:image",content:"https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/win7-simu-year-in-review-2022.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu year in review - 2022"},{itemprop:"description",content:"Look back at some amazing numbers for Win7 Simu in 2022."},{itemprop:"image",content:"https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/win7-simu-year-in-review-2022.html",relativePath:"blog/win7-simu-year-in-review-2022.md",key:"v-3424310c",path:"/blog/win7-simu-year-in-review-2022.html",headers:[{level:2,title:"The amazing numbers",slug:"the-amazing-numbers"},{level:2,title:"Other interesting statistics",slug:"other-interesting-statistics"},{level:3,title:"Countries overview",slug:"countries-overview"},{level:3,title:"Devices overview",slug:"devices-overview"},{level:2,title:"Looking out to 2023",slug:"looking-out-to-2023"}],lastUpdated:"6/26/2023, 12:53:04 PM",lastUpdatedTimestamp:1687783984e3,firstCreated:"1/1/2023, 5:40:40 AM",firstCreatedTimestamp:167255164e4},{title:"Introducing Win7 UI",frontmatter:{layout:"BlogPost",description:"The open-source UI library that powers Win7 Simu behind the scenes.",sidebar:"auto",tag:["technical","tools"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/win7-ui-hero.jpg"},{name:"twitter:title",content:"Introducing Win7 UI"},{name:"twitter:description",content:"The open-source UI library that powers Win7 Simu behind the scenes."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/win7-ui-hero.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-ui-introduction.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Introducing Win7 UI"},{property:"og:description",content:"The open-source UI library that powers Win7 Simu behind the scenes."},{property:"og:image",content:"https://visnalize.com/assets/covers/win7-ui-hero.jpg"},{property:"og:url",content:"https://visnalize.com/blog/win7-ui-introduction.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Introducing Win7 UI"},{itemprop:"description",content:"The open-source UI library that powers Win7 Simu behind the scenes."},{itemprop:"image",content:"https://visnalize.com/assets/covers/win7-ui-hero.jpg"}]},regularPath:"/blog/win7-ui-introduction.html",relativePath:"blog/win7-ui-introduction.md",key:"v-72bfdbc2",path:"/blog/win7-ui-introduction.html",headers:[{level:2,title:"The introduction",slug:"the-introduction"},{level:2,title:"Technical stuff in-depth",slug:"technical-stuff-in-depth"},{level:3,title:"The component library",slug:"the-component-library"},{level:3,title:"The documentation site",slug:"the-documentation-site"},{level:2,title:"What to expect in the future",slug:"what-to-expect-in-the-future"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"8/20/2023, 8:34:48 AM",firstCreatedTimestamp:1692520488e3},{title:"How to get Windows resources",frontmatter:{layout:"BlogPost",description:"Ways that you can retrieve Windows resources such as wallpapers, icons, audio files etc.",sidebar:"auto",tag:["win7-simu","tips"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1624571409108-e9a41746af53?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"How to get Windows resources"},{name:"twitter:description",content:"Ways that you can retrieve Windows resources such as wallpapers, icons, audio files etc."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1624571409108-e9a41746af53?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/windows-resources.html"},{property:"og:type",content:"article"},{property:"og:title",content:"How to get Windows resources"},{property:"og:description",content:"Ways that you can retrieve Windows resources such as wallpapers, icons, audio files etc."},{property:"og:image",content:"https://images.unsplash.com/photo-1624571409108-e9a41746af53?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/windows-resources.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"How to get Windows resources"},{itemprop:"description",content:"Ways that you can retrieve Windows resources such as wallpapers, icons, audio files etc."},{itemprop:"image",content:"https://images.unsplash.com/photo-1624571409108-e9a41746af53?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/windows-resources.html",relativePath:"blog/windows-resources.md",key:"v-301172dc",path:"/blog/windows-resources.html",headers:[{level:2,title:"Searching around",slug:"searching-around"},{level:2,title:"Extracting icons from .dll files",slug:"extracting-icons-from-dll-files"},{level:2,title:"Summary",slug:"summary"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"8/4/2021, 2:48:25 AM",firstCreatedTimestamp:1628045305e3},{title:"What is Brick 1100?",frontmatter:{layout:"WithComments",title:"What is Brick 1100?",description:"A simulation of the Nokia 1100 mobile phone. Experience it on your smartphone/web browser",sidebar:!1,image:"https://image.social/get?url=visnalize.com/brick1100/about.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/brick1100/about.html"},{name:"twitter:title",content:"What is Brick 1100?"},{name:"twitter:description",content:"A simulation of the Nokia 1100 mobile phone. Experience it on your smartphone/web browser"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/brick1100/about.html"},{name:"twitter:url",content:"https://visnalize.com/brick1100/about.html"},{property:"og:type",content:"article"},{property:"og:title",content:"What is Brick 1100?"},{property:"og:description",content:"A simulation of the Nokia 1100 mobile phone. Experience it on your smartphone/web browser"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/brick1100/about.html"},{property:"og:url",content:"https://visnalize.com/brick1100/about.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"What is Brick 1100?"},{itemprop:"description",content:"A simulation of the Nokia 1100 mobile phone. Experience it on your smartphone/web browser"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/brick1100/about.html"}]},regularPath:"/brick1100/about.html",relativePath:"brick1100/about.md",key:"v-6796123c",path:"/brick1100/about.html",headers:[{level:2,title:"Interesting facts and history",slug:"interesting-facts-and-history"},{level:2,title:"Why Brick 1100?",slug:"why-brick-1100"},{level:2,title:"Features",slug:"features"}],lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"7/17/2021, 2:35:57 PM",firstCreatedTimestamp:1626532557e3},{title:"Brick 1100 Builders",frontmatter:{layout:"BlogPost",description:"Discover how to build your own apps and games on Brick 1100. Develop and share your creations with fellow Brick 1100 users.",meta:[{name:"image",content:"https://visnalize.com/assets/covers/builders.jpg"},{name:"twitter:title",content:"Brick 1100 Builders"},{name:"twitter:description",content:"Discover how to build your own apps and games on Brick 1100. Develop and share your creations with fellow Brick 1100 users."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/builders.jpg"},{name:"twitter:url",content:"https://visnalize.com/brick1100/builders.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Brick 1100 Builders"},{property:"og:description",content:"Discover how to build your own apps and games on Brick 1100. Develop and share your creations with fellow Brick 1100 users."},{property:"og:image",content:"https://visnalize.com/assets/covers/builders.jpg"},{property:"og:url",content:"https://visnalize.com/brick1100/builders.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Brick 1100 Builders"},{itemprop:"description",content:"Discover how to build your own apps and games on Brick 1100. Develop and share your creations with fellow Brick 1100 users."},{itemprop:"image",content:"https://visnalize.com/assets/covers/builders.jpg"}]},regularPath:"/brick1100/builders.html",relativePath:"brick1100/builders.md",key:"v-3692f0a2",path:"/brick1100/builders.html",headers:[{level:2,title:"Understanding how it works",slug:"understanding-how-it-works"},{level:3,title:"The nature of Brick 1100",slug:"the-nature-of-brick-1100"},{level:3,title:"Bridge 1100",slug:"bridge-1100"},{level:2,title:"Step-by-step guide",slug:"step-by-step-guide"}],lastUpdated:"9/8/2024, 4:39:40 PM",lastUpdatedTimestamp:172581358e4,firstCreated:"9/8/2024, 4:27:05 PM",firstCreatedTimestamp:1725812825e3},{title:"Brick 1100 Changelog",frontmatter:{title:"Brick 1100 Changelog",description:"Changes throughout the versions of the Brick 1100 app. Check the log at this page.",sidebar:"auto",pageClass:"changelog",image:"https://image.social/get?url=visnalize.com/brick1100/changelog.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/brick1100/changelog.html"},{name:"twitter:title",content:"Brick 1100 Changelog"},{name:"twitter:description",content:"Changes throughout the versions of the Brick 1100 app. Check the log at this page."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/brick1100/changelog.html"},{name:"twitter:url",content:"https://visnalize.com/brick1100/changelog.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Brick 1100 Changelog"},{property:"og:description",content:"Changes throughout the versions of the Brick 1100 app. Check the log at this page."},{property:"og:image",content:"https://image.social/get?url=visnalize.com/brick1100/changelog.html"},{property:"og:url",content:"https://visnalize.com/brick1100/changelog.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Brick 1100 Changelog"},{itemprop:"description",content:"Changes throughout the versions of the Brick 1100 app. Check the log at this page."},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/brick1100/changelog.html"}]},regularPath:"/brick1100/changelog.html",relativePath:"brick1100/changelog.md",key:"v-84d6517c",path:"/brick1100/changelog.html",headers:[{level:2,title:"Beta versions",slug:"beta-versions"},{level:3,title:"0.0.13 (Sep 24, 2024)",slug:"_0-0-13-sep-24-2024"},{level:3,title:"0.0.12 (Sep 22, 2024)",slug:"_0-0-12-sep-22-2024"},{level:3,title:"0.0.11 (Aug 17, 2024)",slug:"_0-0-11-aug-17-2024"},{level:3,title:"0.0.10 (Aug 10, 2024)",slug:"_0-0-10-aug-10-2024"},{level:3,title:"0.0.9 (Jun 24, 2024)",slug:"_0-0-9-jun-24-2024"},{level:3,title:"0.0.8 (Dec 2, 2023)",slug:"_0-0-8-dec-2-2023"},{level:3,title:"0.0.7 (Nov 4, 2023)",slug:"_0-0-7-nov-4-2023"},{level:3,title:"0.0.6 (Oct 16, 2023)",slug:"_0-0-6-oct-16-2023"},{level:3,title:"0.0.5 (Sep 30, 2023)",slug:"_0-0-5-sep-30-2023"},{level:3,title:"0.0.4 (Sep 27, 2023)",slug:"_0-0-4-sep-27-2023"},{level:3,title:"0.0.3 (Sep 26, 2023)",slug:"_0-0-3-sep-26-2023"},{level:3,title:"0.0.2 (Sep 26, 2023)",slug:"_0-0-2-sep-26-2023"},{level:3,title:"0.0.1 (Sep 26, 2023)",slug:"_0-0-1-sep-26-2023"}],lastUpdated:"9/25/2024, 1:00:10 AM",lastUpdatedTimestamp:172722601e4,firstCreated:"9/24/2023, 2:57:02 AM",firstCreatedTimestamp:1695524222e3},{title:"Brick 1100 deep links",frontmatter:{layout:"BlogPost",description:"Explore deep links available in Brick 1100. Take shortcuts to your favorite sections or share them with others",image:"https://image.social/get?url=visnalize.com/brick1100/deep-links.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/brick1100/deep-links.html"},{name:"twitter:title",content:"Brick 1100 deep links"},{name:"twitter:description",content:"Explore deep links available in Brick 1100. Take shortcuts to your favorite sections or share them with others"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/brick1100/deep-links.html"},{name:"twitter:url",content:"https://visnalize.com/brick1100/deep-links.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Brick 1100 deep links"},{property:"og:description",content:"Explore deep links available in Brick 1100. Take shortcuts to your favorite sections or share them with others"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/brick1100/deep-links.html"},{property:"og:url",content:"https://visnalize.com/brick1100/deep-links.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Brick 1100 deep links"},{itemprop:"description",content:"Explore deep links available in Brick 1100. Take shortcuts to your favorite sections or share them with others"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/brick1100/deep-links.html"}]},regularPath:"/brick1100/deep-links.html",relativePath:"brick1100/deep-links.md",key:"v-16be053c",path:"/brick1100/deep-links.html",headers:[{level:2,title:"Available links",slug:"available-links"}],lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"11/4/2023, 8:22:26 AM",firstCreatedTimestamp:1699086146e3},{title:"Brick 1100 Games",frontmatter:{layout:"BlogPost",description:"Play the classic games on Brick 1100. Snake, Brick Breaker, Chrome Dino, Monogram and more",image:"https://image.social/get?url=visnalize.com/brick1100/games.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/brick1100/games.html"},{name:"twitter:title",content:"Brick 1100 Games"},{name:"twitter:description",content:"Play the classic games on Brick 1100. Snake, Brick Breaker, Chrome Dino, Monogram and more"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/brick1100/games.html"},{name:"twitter:url",content:"https://visnalize.com/brick1100/games.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Brick 1100 Games"},{property:"og:description",content:"Play the classic games on Brick 1100. Snake, Brick Breaker, Chrome Dino, Monogram and more"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/brick1100/games.html"},{property:"og:url",content:"https://visnalize.com/brick1100/games.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Brick 1100 Games"},{itemprop:"description",content:"Play the classic games on Brick 1100. Snake, Brick Breaker, Chrome Dino, Monogram and more"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/brick1100/games.html"}]},regularPath:"/brick1100/games.html",relativePath:"brick1100/games.md",key:"v-7716093c",path:"/brick1100/games.html",headers:[{level:2,title:"Snake",slug:"snake"},{level:2,title:"Brick Breaker",slug:"brick-breaker"},{level:2,title:"Chrome Dino",slug:"chrome-dino"},{level:2,title:"Monogram",slug:"monogram"}],lastUpdated:"9/5/2024, 4:51:57 PM",lastUpdatedTimestamp:1725555117e3,firstCreated:"11/4/2023, 8:22:26 AM",firstCreatedTimestamp:1699086146e3},{frontmatter:{description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/brick1100/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/brick1100/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/brick1100/",relativePath:"brick1100/index.md",key:"v-6444650a",path:"/brick1100/",lastUpdated:"11/2/2023, 5:52:36 PM",lastUpdatedTimestamp:1698947556e3,firstCreated:"11/2/2023, 5:48:31 PM",firstCreatedTimestamp:1698947311e3},{title:"Brick 1100 Privacy Policy",frontmatter:{title:"Brick 1100 Privacy Policy",sidebar:"auto",image:"https://image.social/get?url=visnalize.com/brick1100/privacy.html",description:"",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/brick1100/privacy.html"},{name:"twitter:title",content:"Brick 1100 Privacy Policy"},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/brick1100/privacy.html"},{name:"twitter:url",content:"https://visnalize.com/brick1100/privacy.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Brick 1100 Privacy Policy"},{property:"og:description",content:""},{property:"og:image",content:"https://image.social/get?url=visnalize.com/brick1100/privacy.html"},{property:"og:url",content:"https://visnalize.com/brick1100/privacy.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Brick 1100 Privacy Policy"},{itemprop:"description",content:""},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/brick1100/privacy.html"}]},regularPath:"/brick1100/privacy.html",relativePath:"brick1100/privacy.md",key:"v-2af59a42",path:"/brick1100/privacy.html",headers:[{level:2,title:"Information Collection and Use",slug:"information-collection-and-use"},{level:2,title:"Log Data",slug:"log-data"},{level:2,title:"Cookies",slug:"cookies"},{level:2,title:"Service Providers",slug:"service-providers"},{level:2,title:"Security",slug:"security"},{level:2,title:"Links to Other Sites",slug:"links-to-other-sites"},{level:2,title:"Children's Privacy",slug:"children-s-privacy"},{level:2,title:"Changes to This Privacy Policy",slug:"changes-to-this-privacy-policy"},{level:2,title:"Contact Us",slug:"contact-us"}],lastUpdated:"6/1/2024, 6:49:33 AM",lastUpdatedTimestamp:1717224573e3,firstCreated:"9/24/2023, 2:57:02 AM",firstCreatedTimestamp:1695524222e3},{frontmatter:{description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/contact.html"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/contact.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/contact.html",relativePath:"contact.md",key:"v-6cc96c82",path:"/contact.html",lastUpdated:"11/2/2023, 5:52:36 PM",lastUpdatedTimestamp:1698947556e3,firstCreated:"11/2/2023, 5:48:31 PM",firstCreatedTimestamp:1698947311e3},{title:"What is Win7 Simu?",frontmatter:{layout:"WithComments",title:"What is Win7 Simu?",description:"A recreation of the Windows 7 operating system on the Web/Android platform, brings back the nostalgia with the elegant Aero interface",sidebar:!1,image:"https://image.social/get?url=visnalize.com/win7simu/about.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/win7simu/about.html"},{name:"twitter:title",content:"What is Win7 Simu?"},{name:"twitter:description",content:"A recreation of the Windows 7 operating system on the Web/Android platform, brings back the nostalgia with the elegant Aero interface"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/win7simu/about.html"},{name:"twitter:url",content:"https://visnalize.com/win7simu/about.html"},{property:"og:type",content:"article"},{property:"og:title",content:"What is Win7 Simu?"},{property:"og:description",content:"A recreation of the Windows 7 operating system on the Web/Android platform, brings back the nostalgia with the elegant Aero interface"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/win7simu/about.html"},{property:"og:url",content:"https://visnalize.com/win7simu/about.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"What is Win7 Simu?"},{itemprop:"description",content:"A recreation of the Windows 7 operating system on the Web/Android platform, brings back the nostalgia with the elegant Aero interface"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/win7simu/about.html"}]},regularPath:"/win7simu/about.html",relativePath:"win7simu/about.md",key:"v-08727ec0",path:"/win7simu/about.html",headers:[{level:2,title:"Features",slug:"features"},{level:2,title:"Pricing",slug:"pricing"},{level:2,title:"A bit of the history",slug:"a-bit-of-the-history"}],lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"7/5/2021, 2:24:45 PM",firstCreatedTimestamp:1625495085e3},{title:"Win7 Simu Changelog",frontmatter:{title:"Win7 Simu Changelog",description:"Curious about the changes done through versions of the Win7 Simu app? Check the log at this page",sidebar:"auto",pageClass:"changelog",image:"https://image.social/get?url=visnalize.com/win7simu/changelog.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/win7simu/changelog.html"},{name:"twitter:title",content:"Win7 Simu Changelog"},{name:"twitter:description",content:"Curious about the changes done through versions of the Win7 Simu app? Check the log at this page"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/win7simu/changelog.html"},{name:"twitter:url",content:"https://visnalize.com/win7simu/changelog.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu Changelog"},{property:"og:description",content:"Curious about the changes done through versions of the Win7 Simu app? Check the log at this page"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/win7simu/changelog.html"},{property:"og:url",content:"https://visnalize.com/win7simu/changelog.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu Changelog"},{itemprop:"description",content:"Curious about the changes done through versions of the Win7 Simu app? Check the log at this page"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/win7simu/changelog.html"}]},regularPath:"/win7simu/changelog.html",relativePath:"win7simu/changelog.md",key:"v-ba31739c",path:"/win7simu/changelog.html",headers:[{level:2,title:"2024",slug:"_2024"},{level:3,title:"3.13.1 (Sep 14, 2024)",slug:"_3-13-1-sep-14-2024"},{level:3,title:"3.13.0 (Sep 8, 2024)",slug:"_3-13-0-sep-8-2024"},{level:3,title:"3.12.1 (Aug 24, 2024)",slug:"_3-12-1-aug-24-2024"},{level:3,title:"3.12.0 (Aug 13, 2024)",slug:"_3-12-0-aug-13-2024"},{level:3,title:"3.11.2 (June 20, 2024)",slug:"_3-11-2-june-20-2024"},{level:3,title:"3.11.1 (June 19, 2024)",slug:"_3-11-1-june-19-2024"},{level:3,title:"3.11.0 (June 18, 2024)",slug:"_3-11-0-june-18-2024"},{level:3,title:"3.10.0 (June 7, 2024)",slug:"_3-10-0-june-7-2024"},{level:3,title:"3.9.0 (Apr 13, 2024)",slug:"_3-9-0-apr-13-2024"},{level:3,title:"3.8.1 (Jan 29, 2024)",slug:"_3-8-1-jan-29-2024"},{level:3,title:"3.8.0 (Jan 29, 2024)",slug:"_3-8-0-jan-29-2024"},{level:3,title:"3.7.0 (Jan 14, 2024)",slug:"_3-7-0-jan-14-2024"},{level:2,title:"2023",slug:"_2023"},{level:3,title:"3.6.1 (Dec 28, 2023)",slug:"_3-6-1-dec-28-2023"},{level:3,title:"3.6.0 (Dec 24, 2023)",slug:"_3-6-0-dec-24-2023"},{level:3,title:"3.5.0 (Nov 19, 2023)",slug:"_3-5-0-nov-19-2023"},{level:3,title:"3.4.0 (Oct 6, 2023)",slug:"_3-4-0-oct-6-2023"},{level:3,title:"3.3.1 (Aug 4, 2023)",slug:"_3-3-1-aug-4-2023"},{level:3,title:"3.3.0 (Aug 3, 2023)",slug:"_3-3-0-aug-3-2023"},{level:3,title:"3.2.0 (Jul 25, 2023)",slug:"_3-2-0-jul-25-2023"},{level:3,title:"3.1.0 (Jul 10, 2023)",slug:"_3-1-0-jul-10-2023"},{level:3,title:"3.0.4 (Jun 24, 2023)",slug:"_3-0-4-jun-24-2023"},{level:3,title:"3.0.3 (Jun 10, 2023)",slug:"_3-0-3-jun-10-2023"},{level:3,title:"3.0.2 (May 23, 2023)",slug:"_3-0-2-may-23-2023"},{level:3,title:"3.0.1 (May 21, 2023)",slug:"_3-0-1-may-21-2023"},{level:3,title:"3.0.0 (May 20, 2023)",slug:"_3-0-0-may-20-2023"},{level:3,title:"2.28.0 (Apr 5, 2023)",slug:"_2-28-0-apr-5-2023"},{level:3,title:"2.27.0 (Mar 13, 2023)",slug:"_2-27-0-mar-13-2023"},{level:3,title:"2.26.2 (Feb 24, 2023)",slug:"_2-26-2-feb-24-2023"},{level:3,title:"2.26.1 (Feb 23, 2023)",slug:"_2-26-1-feb-23-2023"},{level:3,title:"2.26.0 (Feb 19, 2023)",slug:"_2-26-0-feb-19-2023"},{level:2,title:"2022",slug:"_2022"},{level:3,title:"2.25.0 (Dec 29, 2022)",slug:"_2-25-0-dec-29-2022"},{level:3,title:"2.24.0 (Nov 19, 2022)",slug:"_2-24-0-nov-19-2022"},{level:3,title:"2.23.1 (Sep 30, 2022)",slug:"_2-23-1-sep-30-2022"},{level:3,title:"2.23.2 (Oct 15, 2022)",slug:"_2-23-2-oct-15-2022"},{level:3,title:"2.23.0 (Sep 25, 2022)",slug:"_2-23-0-sep-25-2022"},{level:3,title:"2.22.2 (Sep 10, 2022)",slug:"_2-22-2-sep-10-2022"},{level:3,title:"2.22.1 (Aug 6, 2022)",slug:"_2-22-1-aug-6-2022"},{level:3,title:"2.22.0 (Aug 6, 2022)",slug:"_2-22-0-aug-6-2022"},{level:3,title:"2.21.0 (Jun 10, 2022)",slug:"_2-21-0-jun-10-2022"},{level:3,title:"2.20.0 (Jan 4, 2022)",slug:"_2-20-0-jan-4-2022"},{level:2,title:"2021",slug:"_2021"},{level:3,title:"2.19.0 (Nov 7, 2021)",slug:"_2-19-0-nov-7-2021"},{level:3,title:"2.18.0 (Oct 15, 2021)",slug:"_2-18-0-oct-15-2021"},{level:3,title:"2.17.0 (Oct 3, 2021)",slug:"_2-17-0-oct-3-2021"},{level:3,title:"2.16.0 (Sep 18, 2021)",slug:"_2-16-0-sep-18-2021"},{level:3,title:"2.15.0 (Sep 8, 2021)",slug:"_2-15-0-sep-8-2021"},{level:3,title:"2.14.0 (Aug 28, 2021)",slug:"_2-14-0-aug-28-2021"},{level:3,title:"2.13.0 (Aug 18, 2021)",slug:"_2-13-0-aug-18-2021"},{level:3,title:"2.12.0 (Aug 7, 2021)",slug:"_2-12-0-aug-7-2021"},{level:3,title:"2.11.1 (Jul 27, 2021)",slug:"_2-11-1-jul-27-2021"},{level:3,title:"2.11.0 (Jul 23, 2021)",slug:"_2-11-0-jul-23-2021"},{level:3,title:"2.10.0 (Jul 4, 2021)",slug:"_2-10-0-jul-4-2021"},{level:3,title:"2.9.0 (Jun 21, 2021)",slug:"_2-9-0-jun-21-2021"},{level:3,title:"2.8.0 (Jun 10, 2021)",slug:"_2-8-0-jun-10-2021"},{level:3,title:"2.7.0 (May 23, 2021)",slug:"_2-7-0-may-23-2021"},{level:3,title:"2.6.0 (May 14, 2021)",slug:"_2-6-0-may-14-2021"},{level:3,title:"2.5.0 (Apr 29, 2021)",slug:"_2-5-0-apr-29-2021"},{level:3,title:"2.4.0 (Apr 15, 2021)",slug:"_2-4-0-apr-15-2021"},{level:2,title:"2020",slug:"_2020"},{level:3,title:"2.3.3 (Aug 18, 2020)",slug:"_2-3-3-aug-18-2020"},{level:3,title:"2.3.2 (Aug 16, 2020)",slug:"_2-3-2-aug-16-2020"},{level:3,title:"2.3.1 (Jul 31, 2020)",slug:"_2-3-1-jul-31-2020"},{level:3,title:"2.3 (Jul 22, 2020)",slug:"_2-3-jul-22-2020"},{level:3,title:"2.2 (Jul 11, 2020)",slug:"_2-2-jul-11-2020"},{level:3,title:"2.1 (Jun 13, 2020)",slug:"_2-1-jun-13-2020"},{level:3,title:"2.0 (May 30, 2020)",slug:"_2-0-may-30-2020"},{level:3,title:"1.2.2 (May 9, 2020)",slug:"_1-2-2-may-9-2020"},{level:3,title:"1.2.1 (May 3, 2020)",slug:"_1-2-1-may-3-2020"},{level:3,title:"1.2 (Apr 16, 2020)",slug:"_1-2-apr-16-2020"},{level:3,title:"1.1 (Feb 27, 2020)",slug:"_1-1-feb-27-2020"},{level:3,title:"1.0 (Feb 16, 2020)",slug:"_1-0-feb-16-2020"}],lastUpdated:"9/15/2024, 12:18:47 AM",lastUpdatedTimestamp:1726359527e3,firstCreated:"7/7/2021, 2:18:59 AM",firstCreatedTimestamp:1625624339e3},{title:"Home",frontmatter:{home:!0,description:"Author of Win7 Simu and Brick 1100. On a mission to relive the good old days with simulation apps.",tagline:null,pageClass:"homepage",image:"https://image.social/get?url=visnalize.com",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com"},{name:"twitter:title",content:"Visnalize"},{name:"twitter:description",content:"Author of Win7 Simu and Brick 1100. On a mission to relive the good old days with simulation apps."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com"},{name:"twitter:url",content:"https://visnalize.com/"},{property:"og:type",content:"website"},{property:"og:title",content:"Visnalize"},{property:"og:description",content:"Author of Win7 Simu and Brick 1100. On a mission to relive the good old days with simulation apps."},{property:"og:image",content:"https://image.social/get?url=visnalize.com"},{property:"og:url",content:"https://visnalize.com/"},{itemprop:"name",content:"Visnalize"},{itemprop:"description",content:"Author of Win7 Simu and Brick 1100. On a mission to relive the good old days with simulation apps."},{itemprop:"image",content:"https://image.social/get?url=visnalize.com"}]},regularPath:"/",relativePath:"index.md",key:"v-98844e8a",path:"/",lastUpdated:"9/3/2024, 9:12:11 AM",lastUpdatedTimestamp:1725354731e3,firstCreated:"7/5/2021, 2:24:45 PM",firstCreatedTimestamp:1625495085e3},{title:"Win7 Simu Frequently Asked Questions",frontmatter:{title:"Win7 Simu Frequently Asked Questions",description:"Have questions in regards to the Win7 Simu app? This page answers them, immediate and straightforward",layout:"WithComments",sidebar:"auto",image:"https://image.social/get?url=visnalize.com/win7simu/faq.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/win7simu/faq.html"},{name:"twitter:title",content:"Win7 Simu Frequently Asked Questions"},{name:"twitter:description",content:"Have questions in regards to the Win7 Simu app? This page answers them, immediate and straightforward"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/win7simu/faq.html"},{name:"twitter:url",content:"https://visnalize.com/win7simu/faq.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu Frequently Asked Questions"},{property:"og:description",content:"Have questions in regards to the Win7 Simu app? This page answers them, immediate and straightforward"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/win7simu/faq.html"},{property:"og:url",content:"https://visnalize.com/win7simu/faq.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu Frequently Asked Questions"},{itemprop:"description",content:"Have questions in regards to the Win7 Simu app? This page answers them, immediate and straightforward"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/win7simu/faq.html"}]},regularPath:"/win7simu/faq.html",relativePath:"win7simu/faq.md",key:"v-8cd4b9a4",path:"/win7simu/faq.html",headers:[{level:2,title:"1. Simulator features",slug:"_1-simulator-features"},{level:3,title:"Can I install exe files/Windows programs on this?",slug:"can-i-install-exe-files-windows-programs-on-this"},{level:3,title:"Can you implement the mouse control in the same way as the Win98 Simulator?",slug:"can-you-implement-the-mouse-control-in-the-same-way-as-the-win98-simulator"},{level:3,title:"IE and Chrome cannot connect to the internet. Can you fix them?",slug:"ie-and-chrome-cannot-connect-to-the-internet-can-you-fix-them"},{level:3,title:"IE and Chrome are too slow. Can you fix them?",slug:"ie-and-chrome-are-too-slow-can-you-fix-them"},{level:3,title:"IE and Chrome cannot download files/programs. Can you fix them?",slug:"ie-and-chrome-cannot-download-files-programs-can-you-fix-them"},{level:3,title:"Can you add Microsoft Office?",slug:"can-you-add-microsoft-office"},{level:3,title:"Can you add this feature, that feature and more features?",slug:"can-you-add-this-feature-that-feature-and-more-features"},{level:3,title:"Can I use this simulator as a launcher/home screen?",slug:"can-i-use-this-simulator-as-a-launcher-home-screen"},{level:3,title:"Does this simulator work offline?",slug:"does-this-simulator-work-offline"},{level:2,title:"2. How to use",slug:"_2-how-to-use"},{level:3,title:"How do I create a user account?",slug:"how-do-i-create-a-user-account"},{level:3,title:"I don't know the password. How do I login?",slug:"i-don-t-know-the-password-how-do-i-login"},{level:3,title:"I have forgotten my password. How to recover it?",slug:"i-have-forgotten-my-password-how-to-recover-it"},{level:3,title:"How do I open the desktop menu?",slug:"how-do-i-open-the-desktop-menu"},{level:3,title:"How do I bring programs/apps to desktop?",slug:"how-do-i-bring-programs-apps-to-desktop"},{level:2,title:"3. Miscellaneous",slug:"_3-miscellaneous"},{level:3,title:"Can you remove the ads?",slug:"can-you-remove-the-ads"},{level:3,title:"Can this simulator work on Android versions earlier than 6.0?",slug:"can-this-simulator-work-on-android-versions-earlier-than-6-0"},{level:3,title:"The simulator only shows a black screen on my device. What should I do?",slug:"the-simulator-only-shows-a-black-screen-on-my-device-what-should-i-do"},{level:3,title:"My games/apps are not showing in the Start Menu. What's the problem?",slug:"my-games-apps-are-not-showing-in-the-start-menu-what-s-the-problem"},{level:3,title:"File Explorer does not show files on my device. What's the problem?",slug:"file-explorer-does-not-show-files-on-my-device-what-s-the-problem"},{level:3,title:"Any plan to publish this simulator to App Store?",slug:"any-plan-to-publish-this-simulator-to-app-store"},{level:3,title:"I found a bug in the simulator. How do I report it?",slug:"i-found-a-bug-in-the-simulator-how-do-i-report-it"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"7/5/2021, 2:24:45 PM",firstCreatedTimestamp:1625495085e3},{frontmatter:{description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/win7simu/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/win7simu/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/win7simu/",relativePath:"win7simu/index.md",key:"v-e8bf05a2",path:"/win7simu/",lastUpdated:"11/2/2023, 5:52:36 PM",lastUpdatedTimestamp:1698947556e3,firstCreated:"11/2/2023, 5:48:31 PM",firstCreatedTimestamp:1698947311e3},{title:"Win7 Simu Privacy Policy",frontmatter:{title:"Win7 Simu Privacy Policy",description:"Worry about your privacy while using the Win7 Simu app? This page eases your concern",sidebar:"auto",image:"https://image.social/get?url=visnalize.com/win7simu/privacy.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/win7simu/privacy.html"},{name:"twitter:title",content:"Win7 Simu Privacy Policy"},{name:"twitter:description",content:"Worry about your privacy while using the Win7 Simu app? This page eases your concern"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/win7simu/privacy.html"},{name:"twitter:url",content:"https://visnalize.com/win7simu/privacy.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu Privacy Policy"},{property:"og:description",content:"Worry about your privacy while using the Win7 Simu app? This page eases your concern"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/win7simu/privacy.html"},{property:"og:url",content:"https://visnalize.com/win7simu/privacy.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu Privacy Policy"},{itemprop:"description",content:"Worry about your privacy while using the Win7 Simu app? This page eases your concern"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/win7simu/privacy.html"}]},regularPath:"/win7simu/privacy.html",relativePath:"win7simu/privacy.md",key:"v-530b246c",path:"/win7simu/privacy.html",headers:[{level:2,title:"Information Collection and Use",slug:"information-collection-and-use"},{level:2,title:"Log Data",slug:"log-data"},{level:2,title:"Cookies",slug:"cookies"},{level:2,title:"Service Providers",slug:"service-providers"},{level:2,title:"Security",slug:"security"},{level:2,title:"Links to Other Sites",slug:"links-to-other-sites"},{level:2,title:"Children's Privacy",slug:"children-s-privacy"},{level:2,title:"Changes to This Privacy Policy",slug:"changes-to-this-privacy-policy"},{level:2,title:"Contact Us",slug:"contact-us"}],lastUpdated:"6/1/2024, 6:49:33 AM",lastUpdatedTimestamp:1717224573e3,firstCreated:"7/5/2021, 2:24:45 PM",firstCreatedTimestamp:1625495085e3},{title:"Calculator",frontmatter:{layout:"FeaturePage",title:"Calculator",description:"Allows you to perform basic arithmetic calculations, such as addition, subtraction, multiplication, and division",image:"/assets/features/calculator.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/calculator.png"},{name:"twitter:title",content:"Calculator"},{name:"twitter:description",content:"Allows you to perform basic arithmetic calculations, such as addition, subtraction, multiplication, and division"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/calculator.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/calculator.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Calculator"},{property:"og:description",content:"Allows you to perform basic arithmetic calculations, such as addition, subtraction, multiplication, and division"},{property:"og:image",content:"https://visnalize.com/assets/features/calculator.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/calculator.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Calculator"},{itemprop:"description",content:"Allows you to perform basic arithmetic calculations, such as addition, subtraction, multiplication, and division"},{itemprop:"image",content:"https://visnalize.com/assets/features/calculator.png"}]},regularPath:"/win7simu/simulated/calculator.html",relativePath:"win7simu/simulated/calculator.md",key:"v-7c23e4bc",path:"/win7simu/simulated/calculator.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"BIOS Setup Utility",frontmatter:{layout:"FeaturePage",title:"BIOS Setup Utility",description:"Allows you to view system information and configure supported boot settings for your Win7 Simu",image:"/assets/features/bios.png",version:"2.16.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/bios.png"},{name:"twitter:title",content:"BIOS Setup Utility"},{name:"twitter:description",content:"Allows you to view system information and configure supported boot settings for your Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/bios.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/bios.html"},{property:"og:type",content:"article"},{property:"og:title",content:"BIOS Setup Utility"},{property:"og:description",content:"Allows you to view system information and configure supported boot settings for your Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/bios.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/bios.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"BIOS Setup Utility"},{itemprop:"description",content:"Allows you to view system information and configure supported boot settings for your Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/bios.png"}]},regularPath:"/win7simu/simulated/bios.html",relativePath:"win7simu/simulated/bios.md",key:"v-0d73ba82",path:"/win7simu/simulated/bios.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/30/2024, 10:09:03 AM",firstCreatedTimestamp:1725012543e3},{title:"Chrome",frontmatter:{layout:"FeaturePage",title:"Chrome",description:"Allows you to browse the web with the Google Chrome browser interface in Win7 Simu",image:"/assets/features/chrome.png",version:"2.8.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/chrome.png"},{name:"twitter:title",content:"Chrome"},{name:"twitter:description",content:"Allows you to browse the web with the Google Chrome browser interface in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/chrome.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/chrome.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Chrome"},{property:"og:description",content:"Allows you to browse the web with the Google Chrome browser interface in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/chrome.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/chrome.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Chrome"},{itemprop:"description",content:"Allows you to browse the web with the Google Chrome browser interface in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/chrome.png"}]},regularPath:"/win7simu/simulated/chrome.html",relativePath:"win7simu/simulated/chrome.md",key:"v-3dbeba22",path:"/win7simu/simulated/chrome.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Control Panel",frontmatter:{layout:"FeaturePage",title:"Control Panel",description:"Allows you to view and change system settings, install and uninstall programs, manage user accounts, and more in Win7 Simu",image:"/assets/features/cpanel.png",version:"1.1.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/cpanel.png"},{name:"twitter:title",content:"Control Panel"},{name:"twitter:description",content:"Allows you to view and change system settings, install and uninstall programs, manage user accounts, and more in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/cpanel.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/cpanel.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Control Panel"},{property:"og:description",content:"Allows you to view and change system settings, install and uninstall programs, manage user accounts, and more in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/cpanel.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/cpanel.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Control Panel"},{itemprop:"description",content:"Allows you to view and change system settings, install and uninstall programs, manage user accounts, and more in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/cpanel.png"}]},regularPath:"/win7simu/simulated/cpanel.html",relativePath:"win7simu/simulated/cpanel.md",key:"v-1f96767c",path:"/win7simu/simulated/cpanel.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Command Prompt",frontmatter:{layout:"FeaturePage",title:"Command Prompt",description:"Allows you to perform various tasks, such as running programs, executing commands, and managing files and directories in Win7 Simu",image:"/assets/features/cmd.png",version:"1.1.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/cmd.png"},{name:"twitter:title",content:"Command Prompt"},{name:"twitter:description",content:"Allows you to perform various tasks, such as running programs, executing commands, and managing files and directories in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/cmd.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/cmd.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Command Prompt"},{property:"og:description",content:"Allows you to perform various tasks, such as running programs, executing commands, and managing files and directories in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/cmd.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/cmd.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Command Prompt"},{itemprop:"description",content:"Allows you to perform various tasks, such as running programs, executing commands, and managing files and directories in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/cmd.png"}]},regularPath:"/win7simu/simulated/cmd.html",relativePath:"win7simu/simulated/cmd.md",key:"v-33b74904",path:"/win7simu/simulated/cmd.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"File Explorer",frontmatter:{layout:"FeaturePage",title:"File Explorer",description:"Allows you to manage files and folders in a simulated Windows 7 environment, including creating, deleting, and moving files and folders",image:"/assets/features/fileexplorer.png",version:"3.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/fileexplorer.png"},{name:"twitter:title",content:"File Explorer"},{name:"twitter:description",content:"Allows you to manage files and folders in a simulated Windows 7 environment, including creating, deleting, and moving files and folders"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/fileexplorer.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/fileexplorer.html"},{property:"og:type",content:"article"},{property:"og:title",content:"File Explorer"},{property:"og:description",content:"Allows you to manage files and folders in a simulated Windows 7 environment, including creating, deleting, and moving files and folders"},{property:"og:image",content:"https://visnalize.com/assets/features/fileexplorer.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/fileexplorer.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"File Explorer"},{itemprop:"description",content:"Allows you to manage files and folders in a simulated Windows 7 environment, including creating, deleting, and moving files and folders"},{itemprop:"image",content:"https://visnalize.com/assets/features/fileexplorer.png"}]},regularPath:"/win7simu/simulated/fileexplorer.html",relativePath:"win7simu/simulated/fileexplorer.md",key:"v-6baf4482",path:"/win7simu/simulated/fileexplorer.html",lastUpdated:"9/1/2024, 3:54:23 AM",lastUpdatedTimestamp:1725162863e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Windows Gadgets",frontmatter:{layout:"FeaturePage",title:"Windows Gadgets",description:"Brings you various gadgets that you can use to enhance your desktop experience in Win7 Simu, such as the Clock, Calendar, Weather, and more",image:"/assets/features/gadgets.png",version:"2.6.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/gadgets.png"},{name:"twitter:title",content:"Windows Gadgets"},{name:"twitter:description",content:"Brings you various gadgets that you can use to enhance your desktop experience in Win7 Simu, such as the Clock, Calendar, Weather, and more"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/gadgets.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/gadgets.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Windows Gadgets"},{property:"og:description",content:"Brings you various gadgets that you can use to enhance your desktop experience in Win7 Simu, such as the Clock, Calendar, Weather, and more"},{property:"og:image",content:"https://visnalize.com/assets/features/gadgets.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/gadgets.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Windows Gadgets"},{itemprop:"description",content:"Brings you various gadgets that you can use to enhance your desktop experience in Win7 Simu, such as the Clock, Calendar, Weather, and more"},{itemprop:"image",content:"https://visnalize.com/assets/features/gadgets.png"}]},regularPath:"/win7simu/simulated/gadgets.html",relativePath:"win7simu/simulated/gadgets.md",key:"v-2ddd3eac",path:"/win7simu/simulated/gadgets.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Magnifier",frontmatter:{layout:"FeaturePage",title:"Magnifier",description:"Allows you to control the magnification level of the screen for better viewing",image:"/assets/features/magnifier.png",version:"2.24.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/magnifier.png"},{name:"twitter:title",content:"Magnifier"},{name:"twitter:description",content:"Allows you to control the magnification level of the screen for better viewing"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/magnifier.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/magnifier.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Magnifier"},{property:"og:description",content:"Allows you to control the magnification level of the screen for better viewing"},{property:"og:image",content:"https://visnalize.com/assets/features/magnifier.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/magnifier.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Magnifier"},{itemprop:"description",content:"Allows you to control the magnification level of the screen for better viewing"},{itemprop:"image",content:"https://visnalize.com/assets/features/magnifier.png"}]},regularPath:"/win7simu/simulated/magnifier.html",relativePath:"win7simu/simulated/magnifier.md",key:"v-aa648488",path:"/win7simu/simulated/magnifier.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Internet Explorer",frontmatter:{layout:"FeaturePage",title:"Internet Explorer",description:"Allows you to browse the web, search for information with Bing as the default search engine",image:"/assets/features/ie.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/ie.png"},{name:"twitter:title",content:"Internet Explorer"},{name:"twitter:description",content:"Allows you to browse the web, search for information with Bing as the default search engine"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/ie.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/ie.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Internet Explorer"},{property:"og:description",content:"Allows you to browse the web, search for information with Bing as the default search engine"},{property:"og:image",content:"https://visnalize.com/assets/features/ie.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/ie.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Internet Explorer"},{itemprop:"description",content:"Allows you to browse the web, search for information with Bing as the default search engine"},{itemprop:"image",content:"https://visnalize.com/assets/features/ie.png"}]},regularPath:"/win7simu/simulated/ie.html",relativePath:"win7simu/simulated/ie.md",key:"v-10412362",path:"/win7simu/simulated/ie.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Win7 Simu simulated apps",frontmatter:{layout:"FeatureList",title:"Win7 Simu simulated apps",description:"An overview of simulated applications available in Win7 Simu",image:"https://image.social/get?url=visnalize.com/win7simu/simulated/",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/win7simu/simulated/"},{name:"twitter:title",content:"Win7 Simu simulated apps"},{name:"twitter:description",content:"An overview of simulated applications available in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/win7simu/simulated/"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu simulated apps"},{property:"og:description",content:"An overview of simulated applications available in Win7 Simu"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/win7simu/simulated/"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu simulated apps"},{itemprop:"description",content:"An overview of simulated applications available in Win7 Simu"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/win7simu/simulated/"}]},regularPath:"/win7simu/simulated/",relativePath:"win7simu/simulated/index.md",key:"v-1e6132e6",path:"/win7simu/simulated/",lastUpdated:"8/30/2024, 10:09:03 AM",lastUpdatedTimestamp:1725012543e3,firstCreated:"8/30/2024, 10:09:03 AM",firstCreatedTimestamp:1725012543e3},{title:"Notepad",frontmatter:{layout:"FeaturePage",title:"Notepad",description:"Allows you to perform basic text editing tasks, such as creating, viewing, and editing text files in a simple and efficient manner",image:"/assets/features/notepad.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/notepad.png"},{name:"twitter:title",content:"Notepad"},{name:"twitter:description",content:"Allows you to perform basic text editing tasks, such as creating, viewing, and editing text files in a simple and efficient manner"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/notepad.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/notepad.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Notepad"},{property:"og:description",content:"Allows you to perform basic text editing tasks, such as creating, viewing, and editing text files in a simple and efficient manner"},{property:"og:image",content:"https://visnalize.com/assets/features/notepad.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/notepad.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Notepad"},{itemprop:"description",content:"Allows you to perform basic text editing tasks, such as creating, viewing, and editing text files in a simple and efficient manner"},{itemprop:"image",content:"https://visnalize.com/assets/features/notepad.png"}]},regularPath:"/win7simu/simulated/notepad.html",relativePath:"win7simu/simulated/notepad.md",key:"v-7d425f36",path:"/win7simu/simulated/notepad.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Windows Media Player",frontmatter:{layout:"FeaturePage",title:"Windows Media Player",description:"Allows you to play music, videos, and photos in various formats supported by Win7 Simu, in a simple and efficient manner",image:"/assets/features/media-player.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/media-player.png"},{name:"twitter:title",content:"Windows Media Player"},{name:"twitter:description",content:"Allows you to play music, videos, and photos in various formats supported by Win7 Simu, in a simple and efficient manner"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/media-player.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/media-player.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Windows Media Player"},{property:"og:description",content:"Allows you to play music, videos, and photos in various formats supported by Win7 Simu, in a simple and efficient manner"},{property:"og:image",content:"https://visnalize.com/assets/features/media-player.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/media-player.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Windows Media Player"},{itemprop:"description",content:"Allows you to play music, videos, and photos in various formats supported by Win7 Simu, in a simple and efficient manner"},{itemprop:"image",content:"https://visnalize.com/assets/features/media-player.png"}]},regularPath:"/win7simu/simulated/media-player.html",relativePath:"win7simu/simulated/media-player.md",key:"v-ff06623c",path:"/win7simu/simulated/media-player.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Minesweeper",frontmatter:{layout:"FeaturePage",title:"Minesweeper",description:"Lets you play the classic Minesweeper game, where you have to clear a minefield without detonating any mines. Can you beat your best time?",image:"/assets/features/minesweeper.png",version:"1.2.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/minesweeper.png"},{name:"twitter:title",content:"Minesweeper"},{name:"twitter:description",content:"Lets you play the classic Minesweeper game, where you have to clear a minefield without detonating any mines. Can you beat your best time?"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/minesweeper.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/minesweeper.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Minesweeper"},{property:"og:description",content:"Lets you play the classic Minesweeper game, where you have to clear a minefield without detonating any mines. Can you beat your best time?"},{property:"og:image",content:"https://visnalize.com/assets/features/minesweeper.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/minesweeper.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Minesweeper"},{itemprop:"description",content:"Lets you play the classic Minesweeper game, where you have to clear a minefield without detonating any mines. Can you beat your best time?"},{itemprop:"image",content:"https://visnalize.com/assets/features/minesweeper.png"}]},regularPath:"/win7simu/simulated/minesweeper.html",relativePath:"win7simu/simulated/minesweeper.md",key:"v-856c7aa8",path:"/win7simu/simulated/minesweeper.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Paint",frontmatter:{layout:"FeaturePage",title:"Paint",description:"Allows you to create and edit images using various tools, such as brushes, shapes, text, colors, and more in Win7 Simu",image:"/assets/features/paint.png",version:"2.2.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/paint.png"},{name:"twitter:title",content:"Paint"},{name:"twitter:description",content:"Allows you to create and edit images using various tools, such as brushes, shapes, text, colors, and more in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/paint.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/paint.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Paint"},{property:"og:description",content:"Allows you to create and edit images using various tools, such as brushes, shapes, text, colors, and more in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/paint.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/paint.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Paint"},{itemprop:"description",content:"Allows you to create and edit images using various tools, such as brushes, shapes, text, colors, and more in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/paint.png"}]},regularPath:"/win7simu/simulated/paint.html",relativePath:"win7simu/simulated/paint.md",key:"v-605a7f7c",path:"/win7simu/simulated/paint.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Personalize",frontmatter:{layout:"FeaturePage",title:"Personalize",description:"Allows you to customize the appearance of your Win7 Simu, including the desktop background, window colors, sounds, screen saver, or altogether as a theme",image:"/assets/features/personalize.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/personalize.png"},{name:"twitter:title",content:"Personalize"},{name:"twitter:description",content:"Allows you to customize the appearance of your Win7 Simu, including the desktop background, window colors, sounds, screen saver, or altogether as a theme"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/personalize.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/personalize.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Personalize"},{property:"og:description",content:"Allows you to customize the appearance of your Win7 Simu, including the desktop background, window colors, sounds, screen saver, or altogether as a theme"},{property:"og:image",content:"https://visnalize.com/assets/features/personalize.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/personalize.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Personalize"},{itemprop:"description",content:"Allows you to customize the appearance of your Win7 Simu, including the desktop background, window colors, sounds, screen saver, or altogether as a theme"},{itemprop:"image",content:"https://visnalize.com/assets/features/personalize.png"}]},regularPath:"/win7simu/simulated/personalize.html",relativePath:"win7simu/simulated/personalize.md",key:"v-6078d960",path:"/win7simu/simulated/personalize.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Programs and Features",frontmatter:{layout:"FeaturePage",title:"Programs and Features",description:"Lets you manage the programs and features supported by Win7 Simu or install new ones",image:"/assets/features/programs.png",version:"2.27.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/programs.png"},{name:"twitter:title",content:"Programs and Features"},{name:"twitter:description",content:"Lets you manage the programs and features supported by Win7 Simu or install new ones"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/programs.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/programs.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Programs and Features"},{property:"og:description",content:"Lets you manage the programs and features supported by Win7 Simu or install new ones"},{property:"og:image",content:"https://visnalize.com/assets/features/programs.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/programs.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Programs and Features"},{itemprop:"description",content:"Lets you manage the programs and features supported by Win7 Simu or install new ones"},{itemprop:"image",content:"https://visnalize.com/assets/features/programs.png"}]},regularPath:"/win7simu/simulated/programs.html",relativePath:"win7simu/simulated/programs.md",key:"v-6e4fcf02",path:"/win7simu/simulated/programs.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Purble Place",frontmatter:{layout:"FeaturePage",title:"Purble Place",description:"Brings back the classic Purble Place game suite, which includes three mini-games, Purble Pairs, Comfy Cakes, and Purble Shop. Do you have what it takes to master all three games?",image:"/assets/features/purbleplace.png",version:"1.2.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/purbleplace.png"},{name:"twitter:title",content:"Purble Place"},{name:"twitter:description",content:"Brings back the classic Purble Place game suite, which includes three mini-games, Purble Pairs, Comfy Cakes, and Purble Shop. Do you have what it takes to master all three games?"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/purbleplace.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/purbleplace.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Purble Place"},{property:"og:description",content:"Brings back the classic Purble Place game suite, which includes three mini-games, Purble Pairs, Comfy Cakes, and Purble Shop. Do you have what it takes to master all three games?"},{property:"og:image",content:"https://visnalize.com/assets/features/purbleplace.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/purbleplace.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Purble Place"},{itemprop:"description",content:"Brings back the classic Purble Place game suite, which includes three mini-games, Purble Pairs, Comfy Cakes, and Purble Shop. Do you have what it takes to master all three games?"},{itemprop:"image",content:"https://visnalize.com/assets/features/purbleplace.png"}]},regularPath:"/win7simu/simulated/purbleplace.html",relativePath:"win7simu/simulated/purbleplace.md",key:"v-9c0e9874",path:"/win7simu/simulated/purbleplace.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Sound Recorder",frontmatter:{layout:"FeaturePage",title:"Sound Recorder",description:"Lets you record sound from your microphone and save it as audio files in Win7 Simu",image:"/assets/features/recorder.png",version:"2.15.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/recorder.png"},{name:"twitter:title",content:"Sound Recorder"},{name:"twitter:description",content:"Lets you record sound from your microphone and save it as audio files in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/recorder.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/recorder.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Sound Recorder"},{property:"og:description",content:"Lets you record sound from your microphone and save it as audio files in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/recorder.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/recorder.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Sound Recorder"},{itemprop:"description",content:"Lets you record sound from your microphone and save it as audio files in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/recorder.png"}]},regularPath:"/win7simu/simulated/recorder.html",relativePath:"win7simu/simulated/recorder.md",key:"v-482face2",path:"/win7simu/simulated/recorder.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Solitaire",frontmatter:{layout:"FeaturePage",title:"Solitaire",description:"Brings back the classic card game with a nostalgic look and feel of the Windows 7 version",image:"/assets/features/solitaire.png",version:"2.12.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/solitaire.png"},{name:"twitter:title",content:"Solitaire"},{name:"twitter:description",content:"Brings back the classic card game with a nostalgic look and feel of the Windows 7 version"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/solitaire.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/solitaire.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Solitaire"},{property:"og:description",content:"Brings back the classic card game with a nostalgic look and feel of the Windows 7 version"},{property:"og:image",content:"https://visnalize.com/assets/features/solitaire.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/solitaire.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Solitaire"},{itemprop:"description",content:"Brings back the classic card game with a nostalgic look and feel of the Windows 7 version"},{itemprop:"image",content:"https://visnalize.com/assets/features/solitaire.png"}]},regularPath:"/win7simu/simulated/solitaire.html",relativePath:"win7simu/simulated/solitaire.md",key:"v-6a81288c",path:"/win7simu/simulated/solitaire.html",lastUpdated:"9/1/2024, 3:54:23 AM",lastUpdatedTimestamp:1725162863e3,firstCreated:"9/1/2024, 3:54:23 AM",firstCreatedTimestamp:1725162863e3},{title:"Snipping Tool",frontmatter:{layout:"FeaturePage",title:"Snipping Tool",description:"Allows you to quickly capture screenshots of your desktop, a window, or a specific region of your screen, and save it as an image file",image:"/assets/features/snipping.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/snipping.png"},{name:"twitter:title",content:"Snipping Tool"},{name:"twitter:description",content:"Allows you to quickly capture screenshots of your desktop, a window, or a specific region of your screen, and save it as an image file"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/snipping.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/snipping.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Snipping Tool"},{property:"og:description",content:"Allows you to quickly capture screenshots of your desktop, a window, or a specific region of your screen, and save it as an image file"},{property:"og:image",content:"https://visnalize.com/assets/features/snipping.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/snipping.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Snipping Tool"},{itemprop:"description",content:"Allows you to quickly capture screenshots of your desktop, a window, or a specific region of your screen, and save it as an image file"},{itemprop:"image",content:"https://visnalize.com/assets/features/snipping.png"}]},regularPath:"/win7simu/simulated/snipping.html",relativePath:"win7simu/simulated/snipping.md",key:"v-190bf8bc",path:"/win7simu/simulated/snipping.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Sticky Notes",frontmatter:{layout:"FeaturePage",title:"Sticky Notes",description:"Allows you to create and manage colorful sticky notes on your desktop in Win7 Simu",image:"/assets/features/sticky.png",version:"2.14.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/sticky.png"},{name:"twitter:title",content:"Sticky Notes"},{name:"twitter:description",content:"Allows you to create and manage colorful sticky notes on your desktop in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/sticky.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/sticky.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Sticky Notes"},{property:"og:description",content:"Allows you to create and manage colorful sticky notes on your desktop in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/sticky.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/sticky.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Sticky Notes"},{itemprop:"description",content:"Allows you to create and manage colorful sticky notes on your desktop in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/sticky.png"}]},regularPath:"/win7simu/simulated/sticky.html",relativePath:"win7simu/simulated/sticky.md",key:"v-496f6bc2",path:"/win7simu/simulated/sticky.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Task Manager",frontmatter:{layout:"FeaturePage",title:"Task Manager",description:"Monitors and manages the applications, processes, and services running in Win7 Simu",image:"/assets/features/taskmgr.png",version:"2.17.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/taskmgr.png"},{name:"twitter:title",content:"Task Manager"},{name:"twitter:description",content:"Monitors and manages the applications, processes, and services running in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/taskmgr.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/taskmgr.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Task Manager"},{property:"og:description",content:"Monitors and manages the applications, processes, and services running in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/taskmgr.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/taskmgr.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Task Manager"},{itemprop:"description",content:"Monitors and manages the applications, processes, and services running in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/taskmgr.png"}]},regularPath:"/win7simu/simulated/taskmgr.html",relativePath:"win7simu/simulated/taskmgr.md",key:"v-9c5b69dc",path:"/win7simu/simulated/taskmgr.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Windows Media Center",frontmatter:{layout:"FeaturePage",title:"Windows Media Center",description:"Allows you to play music, videos, photos, and more, with stunning visuals and animations",image:"/assets/features/wmc.png",version:"3.9.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/wmc.png"},{name:"twitter:title",content:"Windows Media Center"},{name:"twitter:description",content:"Allows you to play music, videos, photos, and more, with stunning visuals and animations"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/wmc.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/wmc.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Windows Media Center"},{property:"og:description",content:"Allows you to play music, videos, photos, and more, with stunning visuals and animations"},{property:"og:image",content:"https://visnalize.com/assets/features/wmc.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/wmc.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Windows Media Center"},{itemprop:"description",content:"Allows you to play music, videos, photos, and more, with stunning visuals and animations"},{itemprop:"image",content:"https://visnalize.com/assets/features/wmc.png"}]},regularPath:"/win7simu/simulated/wmc.html",relativePath:"win7simu/simulated/wmc.md",key:"v-e435f744",path:"/win7simu/simulated/wmc.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Theme Studio Changelog",frontmatter:{sidebar:"auto",pageClass:"changelog",description:"",meta:[{name:"twitter:title",content:"Theme Studio Changelog"},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/win7simu/themestudio/changelog.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Theme Studio Changelog"},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/win7simu/themestudio/changelog.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Theme Studio Changelog"},{itemprop:"description",content:""}]},regularPath:"/win7simu/themestudio/changelog.html",relativePath:"win7simu/themestudio/changelog.md",key:"v-51b76d92",path:"/win7simu/themestudio/changelog.html",headers:[{level:2,title:"All versions",slug:"all-versions"},{level:3,title:"1.2.0 (Jul 10, 2023)",slug:"_1-2-0-jul-10-2023"},{level:3,title:"1.1.0 (Mar 13, 2023)",slug:"_1-1-0-mar-13-2023"},{level:3,title:"1.0.0 (Feb 19, 2023)",slug:"_1-0-0-feb-19-2023"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"2/18/2023, 6:34:47 PM",firstCreatedTimestamp:1676745287e3},{title:"Theme Studio in-depth guide",frontmatter:{layout:"WithComments",title:"Theme Studio in-depth guide",sidebarDepth:2,description:"",meta:[{name:"image",content:"https://visnalize.com/./img/guide1.png"},{name:"twitter:title",content:"Theme Studio in-depth guide"},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/./img/guide1.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/themestudio/in-depth-guide.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Theme Studio in-depth guide"},{property:"og:description",content:""},{property:"og:image",content:"https://visnalize.com/./img/guide1.png"},{property:"og:url",content:"https://visnalize.com/win7simu/themestudio/in-depth-guide.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Theme Studio in-depth guide"},{itemprop:"description",content:""},{itemprop:"image",content:"https://visnalize.com/./img/guide1.png"}]},regularPath:"/win7simu/themestudio/in-depth-guide.html",relativePath:"win7simu/themestudio/in-depth-guide.md",key:"v-2cf24a82",path:"/win7simu/themestudio/in-depth-guide.html",headers:[{level:2,title:"Step-by-step",slug:"step-by-step"},{level:3,title:"Writing your first theme",slug:"writing-your-first-theme"},{level:3,title:"Using themes",slug:"using-themes"},{level:3,title:"Publishing your theme",slug:"publishing-your-theme"},{level:2,title:"Common selectors",slug:"common-selectors"},{level:2,title:"Background and icons",slug:"background-and-icons"},{level:3,title:"Program IDs",slug:"program-ids"}],lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"2/18/2023, 6:34:47 PM",firstCreatedTimestamp:1676745287e3},{title:"WordPad",frontmatter:{layout:"FeaturePage",title:"WordPad",description:"Allows you to perform more advanced text editing tasks, such as creating, viewing, and editing rich text files with formatting options and more",image:"/assets/features/wordpad.png",version:"2.17.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/wordpad.png"},{name:"twitter:title",content:"WordPad"},{name:"twitter:description",content:"Allows you to perform more advanced text editing tasks, such as creating, viewing, and editing rich text files with formatting options and more"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/wordpad.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/wordpad.html"},{property:"og:type",content:"article"},{property:"og:title",content:"WordPad"},{property:"og:description",content:"Allows you to perform more advanced text editing tasks, such as creating, viewing, and editing rich text files with formatting options and more"},{property:"og:image",content:"https://visnalize.com/assets/features/wordpad.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/wordpad.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"WordPad"},{itemprop:"description",content:"Allows you to perform more advanced text editing tasks, such as creating, viewing, and editing rich text files with formatting options and more"},{itemprop:"image",content:"https://visnalize.com/assets/features/wordpad.png"}]},regularPath:"/win7simu/simulated/wordpad.html",relativePath:"win7simu/simulated/wordpad.md",key:"v-10fbe366",path:"/win7simu/simulated/wordpad.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Getting started with Theme Studio",frontmatter:{layout:"WithComments",title:"Getting started with Theme Studio",sidebarDepth:2,description:"",meta:[{name:"image",content:"https://visnalize.com/./img/themestudio-editor.png"},{name:"twitter:title",content:"Getting started with Theme Studio"},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/./img/themestudio-editor.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/themestudio/quick-guide.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Getting started with Theme Studio"},{property:"og:description",content:""},{property:"og:image",content:"https://visnalize.com/./img/themestudio-editor.png"},{property:"og:url",content:"https://visnalize.com/win7simu/themestudio/quick-guide.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Getting started with Theme Studio"},{itemprop:"description",content:""},{itemprop:"image",content:"https://visnalize.com/./img/themestudio-editor.png"}]},regularPath:"/win7simu/themestudio/quick-guide.html",relativePath:"win7simu/themestudio/quick-guide.md",key:"v-007b4402",path:"/win7simu/themestudio/quick-guide.html",headers:[{level:2,title:"User interface",slug:"user-interface"},{level:3,title:"Theme Editor",slug:"theme-editor"},{level:3,title:"Themes Explorer",slug:"themes-explorer"},{level:2,title:"Quick start",slug:"quick-start"}],lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"2/18/2023, 6:34:47 PM",firstCreatedTimestamp:1676745287e3},{title:"Theme Studio",frontmatter:{layout:"BlogPost",description:"Introduction to Theme Studio, an exclusive application to Win7 Simu.",meta:[{name:"image",content:"https://visnalize.com/./img/themestudio.jpg"},{name:"twitter:title",content:"Theme Studio"},{name:"twitter:description",content:"Introduction to Theme Studio, an exclusive application to Win7 Simu."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/./img/themestudio.jpg"},{name:"twitter:url",content:"https://visnalize.com/win7simu/themestudio/"},{property:"og:type",content:"article"},{property:"og:title",content:"Theme Studio"},{property:"og:description",content:"Introduction to Theme Studio, an exclusive application to Win7 Simu."},{property:"og:image",content:"https://visnalize.com/./img/themestudio.jpg"},{property:"og:url",content:"https://visnalize.com/win7simu/themestudio/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Theme Studio"},{itemprop:"description",content:"Introduction to Theme Studio, an exclusive application to Win7 Simu."},{itemprop:"image",content:"https://visnalize.com/./img/themestudio.jpg"}]},regularPath:"/win7simu/themestudio/",relativePath:"win7simu/themestudio/readme.md",key:"v-05767d49",path:"/win7simu/themestudio/",lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"2/18/2023, 6:34:47 PM",firstCreatedTimestamp:1676745287e3},{frontmatter:{layout:"BlogList",title:"Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/",key:"v-0326206d",path:"/blog/tag/"},{frontmatter:{layout:"BlogList",title:"technical Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/technical/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/technical/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/technical/",key:"v-62ece89f",path:"/blog/tag/technical/"},{frontmatter:{layout:"BlogList",title:"sharing Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/sharing/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/sharing/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/sharing/",key:"v-0052e380",path:"/blog/tag/sharing/"},{frontmatter:{layout:"BlogList",title:"random Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/random/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/random/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/random/",key:"v-3e40a282",path:"/blog/tag/random/"},{frontmatter:{layout:"BlogList",title:"tips Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/tips/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/tips/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/tips/",key:"v-60422faa",path:"/blog/tag/tips/"},{frontmatter:{layout:"BlogList",title:"win7-simu Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/win7-simu/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/win7-simu/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/win7-simu/",key:"v-791b612c",path:"/blog/tag/win7-simu/"},{frontmatter:{layout:"BlogList",title:"brick-1100 Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/brick-1100/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/brick-1100/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/brick-1100/",key:"v-549e50f6",path:"/blog/tag/brick-1100/"},{frontmatter:{layout:"BlogList",title:"review Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/review/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/review/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/review/",key:"v-2fb4226c",path:"/blog/tag/review/"},{frontmatter:{layout:"BlogList",title:"tools Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/tools/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/tools/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/tools/",key:"v-af50673e",path:"/blog/tag/tools/"},{frontmatter:{layout:"BlogList",title:"guest-post Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/guest-post/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/guest-post/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/guest-post/",key:"v-26a044cd",path:"/blog/tag/guest-post/"},{frontmatter:{layout:"Layout",title:"Page 2 - win7-simu | Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/win7-simu/page/2/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/win7-simu/page/2/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/win7-simu/page/2/",key:"v-1f534b11",path:"/blog/tag/win7-simu/page/2/"}],themeConfig:{logo:"/assets/favicon.png",nav:[{text:"💻 Win7 Simu",items:[{text:"About",link:"/win7simu/about"},{text:"Changelog",link:"/win7simu/changelog"},{text:"FAQs",link:"/win7simu/faq"},{text:"Privacy Policy",link:"/win7simu/privacy"},{text:"Guides",items:[{text:"Simulated apps",link:"/win7simu/simulated/"},{text:"Theme Studio",link:"/win7simu/themestudio/"}]}]},{text:"📵 Brick 1100",items:[{text:"About",link:"/brick1100/about"},{text:"Changelog",link:"/brick1100/changelog"},{text:"Privacy Policy",link:"/brick1100/privacy"},{text:"Guides",items:[{text:"Games",link:"/brick1100/games"},{text:"Deep Links",link:"/brick1100/deep-links"},{text:"Builders",link:"/brick1100/builders"}]}]},{text:"📝 Blog",link:"/blog/"},{text:"🙋‍♂️ About",link:"/about"},{text:"🌏 Social",items:[{text:"Google Play",link:"https://play.google.com/store/apps/dev?id=7119371547095400132"},{text:"Youtube",link:"https://www.youtube.com/c/visnalize"},{text:"Github",link:"https://github.com/Visnalize"},{text:"Twitter",link:"https://twitter.com/visnalize"}]}],sidebar:{"/win7simu/themestudio/":[["","Introduction"],["quick-guide","Getting started"],["in-depth-guide","In-depth guide"],["changelog","Changelog"]],"/brick1100/":"auto","/blog/":!1},smoothScroll:!0,lastUpdated:!0}};var Le=n(21),Ie=n.n(Le),We=n(15),Ne=n.n(We),Ue=n(121),qe=n.n(Ue),De=n(122),Re=n.n(De),Fe="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,Ve=function(){for(var t=["Edge","Trident","Firefox"],e=0;e=0)return 1;return 0}();var He=Fe&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),Ve))}};function Ge(t){return t&&"[object Function]"==={}.toString.call(t)}function Ye(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function Ke(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function Je(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=Ye(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:Je(Ke(t))}function Xe(t){return t&&t.referenceNode?t.referenceNode:t}var Qe=Fe&&!(!window.MSInputMethodContext||!document.documentMode),Ze=Fe&&/MSIE 10/.test(navigator.userAgent);function tn(t){return 11===t?Qe:10===t?Ze:Qe||Ze}function en(t){if(!t)return document.documentElement;for(var e=tn(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===Ye(n,"position")?en(n):n:t?t.ownerDocument.documentElement:document.documentElement}function nn(t){return null!==t.parentNode?nn(t.parentNode):t}function on(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var a,s,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(s=(a=l).nodeName)||"HTML"!==s&&en(a.firstElementChild)!==a?en(l):l;var c=nn(t);return c.host?on(c.host,e):on(t,nn(e).host)}function rn(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function an(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=rn(e,"top"),o=rn(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function sn(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function ln(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],tn(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function cn(t){var e=t.body,n=t.documentElement,i=tn(10)&&getComputedStyle(n);return{height:ln("Height",e,n,i),width:ln("Width",e,n,i)}}var un=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},pn=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=tn(10),o="HTML"===e.nodeName,r=fn(t),a=fn(e),s=Je(t),l=Ye(e),c=parseFloat(l.borderTopWidth),u=parseFloat(l.borderLeftWidth);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var p=hn({top:r.top-a.top-c,left:r.left-a.left-u,width:r.width,height:r.height});if(p.marginTop=0,p.marginLeft=0,!i&&o){var m=parseFloat(l.marginTop),d=parseFloat(l.marginLeft);p.top-=c-m,p.bottom-=c-m,p.left-=u-d,p.right-=u-d,p.marginTop=m,p.marginLeft=d}return(i&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(p=an(p,e)),p}function vn(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=gn(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),a=e?0:rn(n),s=e?0:rn(n,"left"),l={top:a-i.top+i.marginTop,left:s-i.left+i.marginLeft,width:o,height:r};return hn(l)}function yn(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===Ye(t,"position"))return!0;var n=Ke(t);return!!n&&yn(n)}function wn(t){if(!t||!t.parentElement||tn())return document.documentElement;for(var e=t.parentElement;e&&"none"===Ye(e,"transform");)e=e.parentElement;return e||document.documentElement}function bn(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},a=o?wn(t):on(t,Xe(e));if("viewport"===i)r=vn(a,o);else{var s=void 0;"scrollParent"===i?"BODY"===(s=Je(Ke(e))).nodeName&&(s=t.ownerDocument.documentElement):s="window"===i?t.ownerDocument.documentElement:i;var l=gn(s,a,o);if("HTML"!==s.nodeName||yn(a))r=l;else{var c=cn(t.ownerDocument),u=c.height,p=c.width;r.top+=l.top-l.marginTop,r.bottom=u+l.top,r.left+=l.left-l.marginLeft,r.right=p+l.left}}var m="number"==typeof(n=n||0);return r.left+=m?n:n.left||0,r.top+=m?n:n.top||0,r.right-=m?n:n.right||0,r.bottom-=m?n:n.bottom||0,r}function _n(t){return t.width*t.height}function kn(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var a=bn(n,i,r,o),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map((function(t){return dn({key:t},s[t],{area:_n(s[t])})})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),u=c.length>0?c[0].key:l[0].key,p=t.split("-")[1];return u+(p?"-"+p:"")}function xn(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?wn(e):on(e,Xe(n));return gn(n,o,i)}function Cn(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Sn(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function Pn(t,e,n){n=n.split("-")[0];var i=Cn(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),a=r?"top":"left",s=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[a]=e[a]+e[l]/2-i[l]/2,o[s]=n===s?e[s]-i[c]:e[Sn(s)],o}function Tn(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function zn(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=Tn(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&Ge(n)&&(e.offsets.popper=hn(e.offsets.popper),e.offsets.reference=hn(e.offsets.reference),e=n(e,t))})),e}function En(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=xn(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=kn(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Pn(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=zn(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function On(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function An(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=Dn.indexOf(t),i=Dn.slice(n+1).concat(Dn.slice(0,n));return e?i.reverse():i}var Fn="flip",Vn="clockwise",Hn="counterclockwise";function Gn(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),a=t.split(/(\+|\-)/).map((function(t){return t.trim()})),s=a.indexOf(Tn(a,(function(t){return-1!==t.search(/,|\s/)})));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==s?[a.slice(0,s).concat([a[s].split(l)[0]]),[a[s].split(l)[1]].concat(a.slice(s+1))]:[a];return(c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",a=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],a=o[2];if(!r)return t;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=i}return hn(s)[e]/100*r}if("vh"===a||"vw"===a){return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){In(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var Yn={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,a=o.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",c=s?"width":"height",u={start:mn({},l,r[l]),end:mn({},l,r[l]+r[c]-a[c])};t.offsets.popper=dn({},a,u[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,a=o.reference,s=i.split("-")[0],l=void 0;return l=In(+n)?[+n,0]:Gn(n,r,a,s),"left"===s?(r.top+=l[0],r.left-=l[1]):"right"===s?(r.top+=l[0],r.left+=l[1]):"top"===s?(r.left+=l[0],r.top-=l[1]):"bottom"===s&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||en(t.instance.popper);t.instance.reference===n&&(n=en(n));var i=An("transform"),o=t.instance.popper.style,r=o.top,a=o.left,s=o[i];o.top="",o.left="",o[i]="";var l=bn(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=a,o[i]=s,e.boundaries=l;var c=e.priority,u=t.offsets.popper,p={primary:function(t){var n=u[t];return u[t]l[t]&&!e.escapeWithReference&&(i=Math.min(u[n],l[t]-("right"===t?u.width:u.height))),mn({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=dn({},u,p[e](t))})),t.offsets.popper=u,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,a=-1!==["top","bottom"].indexOf(o),s=a?"right":"bottom",l=a?"left":"top",c=a?"width":"height";return n[s]r(i[s])&&(t.offsets.popper[l]=r(i[s])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!Un(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,a=r.popper,s=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",u=l?"Top":"Left",p=u.toLowerCase(),m=l?"left":"top",d=l?"bottom":"right",h=Cn(i)[c];s[d]-ha[d]&&(t.offsets.popper[p]+=s[p]+h-a[d]),t.offsets.popper=hn(t.offsets.popper);var f=s[p]+s[c]/2-h/2,g=Ye(t.instance.popper),v=parseFloat(g["margin"+u]),y=parseFloat(g["border"+u+"Width"]),w=f-t.offsets.popper[p]-v-y;return w=Math.max(Math.min(a[c]-h,w),0),t.arrowElement=i,t.offsets.arrow=(mn(n={},p,Math.round(w)),mn(n,m,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(On(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=bn(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=Sn(i),r=t.placement.split("-")[1]||"",a=[];switch(e.behavior){case Fn:a=[i,o];break;case Vn:a=Rn(i);break;case Hn:a=Rn(i,!0);break;default:a=e.behavior}return a.forEach((function(s,l){if(i!==s||a.length===l+1)return t;i=t.placement.split("-")[0],o=Sn(i);var c=t.offsets.popper,u=t.offsets.reference,p=Math.floor,m="left"===i&&p(c.right)>p(u.left)||"right"===i&&p(c.left)p(u.top)||"bottom"===i&&p(c.top)p(n.right),f=p(c.top)p(n.bottom),v="left"===i&&d||"right"===i&&h||"top"===i&&f||"bottom"===i&&g,y=-1!==["top","bottom"].indexOf(i),w=!!e.flipVariations&&(y&&"start"===r&&d||y&&"end"===r&&h||!y&&"start"===r&&f||!y&&"end"===r&&g),b=!!e.flipVariationsByContent&&(y&&"start"===r&&h||y&&"end"===r&&d||!y&&"start"===r&&g||!y&&"end"===r&&f),_=w||b;(m||v||_)&&(t.flipped=!0,(m||v)&&(i=a[l+1]),_&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=dn({},t.offsets.popper,Pn(t.instance.popper,t.offsets.reference,t.placement)),t=zn(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=r[n]-(s?o[a?"width":"height"]:0),t.placement=Sn(e),t.offsets.popper=hn(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!Un(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Tn(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};un(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=He(this.update.bind(this)),this.options=dn({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(dn({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=dn({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return dn({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&Ge(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return pn(t,[{key:"update",value:function(){return En.call(this)}},{key:"destroy",value:function(){return $n.call(this)}},{key:"enableEventListeners",value:function(){return Bn.call(this)}},{key:"disableEventListeners",value:function(){return Ln.call(this)}}]),t}();Kn.Utils=("undefined"!=typeof window?window:global).PopperUtils,Kn.placements=qn,Kn.Defaults=Yn;var Jn,Xn=Kn,Qn=n(123),Zn=n.n(Qn);function ti(){ti.init||(ti.init=!0,Jn=-1!==function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var n=t.indexOf("rv:");return parseInt(t.substring(n+3,t.indexOf(".",n)),10)}var i=t.indexOf("Edge/");return i>0?parseInt(t.substring(i+5,t.indexOf(".",i)),10):-1}())}function ei(t,e,n,i,o,r,a,s,l,c){"boolean"!=typeof a&&(l=s,s=a,a=!1);var u,p="function"==typeof n?n.options:n;if(t&&t.render&&(p.render=t.render,p.staticRenderFns=t.staticRenderFns,p._compiled=!0,o&&(p.functional=!0)),i&&(p._scopeId=i),r?(u=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(r)},p._ssrRegister=u):e&&(u=a?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,s(t))}),u)if(p.functional){var m=p.render;p.render=function(t,e){return u.call(e),m(t,e)}}else{var d=p.beforeCreate;p.beforeCreate=d?[].concat(d,u):[u]}return n}var ni={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t=this;ti(),this.$nextTick((function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight,t.emitOnMount&&t.emitSize()}));var e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",Jn&&this.$el.appendChild(e),e.data="about:blank",Jn||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!Jn&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},ii=function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};ii._withStripped=!0;var oi=ei({render:ii,staticRenderFns:[]},void 0,ni,"data-v-8859cc6c",!1,void 0,!1,void 0,void 0,void 0);var ri={version:"1.0.1",install:function(t){t.component("resize-observer",oi),t.component("ResizeObserver",oi)}},ai=null;"undefined"!=typeof window?ai=window.Vue:"undefined"!=typeof global&&(ai=global.Vue),ai&&ai.use(ri);var si=n(124),li=n.n(si),ci=function(){};function ui(t){return"string"==typeof t&&(t=t.split(" ")),t}function pi(t,e){var n,i=ui(e);n=t.className instanceof ci?ui(t.className.baseVal):ui(t.className),i.forEach((function(t){-1===n.indexOf(t)&&n.push(t)})),t instanceof SVGElement?t.setAttribute("class",n.join(" ")):t.className=n.join(" ")}function mi(t,e){var n,i=ui(e);n=t.className instanceof ci?ui(t.className.baseVal):ui(t.className),i.forEach((function(t){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})),t instanceof SVGElement?t.setAttribute("class",n.join(" ")):t.className=n.join(" ")}"undefined"!=typeof window&&(ci=window.SVGAnimatedString);var di=!1;if("undefined"!=typeof window){di=!1;try{var hi=Object.defineProperty({},"passive",{get:function(){di=!0}});window.addEventListener("test",null,hi)}catch(t){}}function fi(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function gi(t){for(var e=1;e
',trigger:"hover focus",offset:0},yi=[],wi=function(){function t(e,n){var i=this;qe()(this,t),Ne()(this,"_events",[]),Ne()(this,"_setTooltipNodeEvent",(function(t,e,n,o){var r=t.relatedreference||t.toElement||t.relatedTarget;return!!i._tooltipNode.contains(r)&&(i._tooltipNode.addEventListener(t.type,(function n(r){var a=r.relatedreference||r.toElement||r.relatedTarget;i._tooltipNode.removeEventListener(t.type,n),e.contains(a)||i._scheduleHide(e,o.delay,o,r)})),!0)})),n=gi(gi({},vi),n),e.jquery&&(e=e[0]),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.reference=e,this.options=n,this._isOpen=!1,this._init()}return Re()(t,[{key:"show",value:function(){this._show(this.reference,this.options)}},{key:"hide",value:function(){this._hide()}},{key:"dispose",value:function(){this._dispose()}},{key:"toggle",value:function(){return this._isOpen?this.hide():this.show()}},{key:"setClasses",value:function(t){this._classes=t}},{key:"setContent",value:function(t){this.options.title=t,this._tooltipNode&&this._setContent(t,this.options)}},{key:"setOptions",value:function(t){var e=!1,n=t&&t.classes||Oi.options.defaultClass;Zn()(this._classes,n)||(this.setClasses(n),e=!0),t=Si(t);var i=!1,o=!1;for(var r in this.options.offset===t.offset&&this.options.placement===t.placement||(i=!0),(this.options.template!==t.template||this.options.trigger!==t.trigger||this.options.container!==t.container||e)&&(o=!0),t)this.options[r]=t[r];if(this._tooltipNode)if(o){var a=this._isOpen;this.dispose(),this._init(),a&&this.show()}else i&&this.popperInstance.update()}},{key:"_init",value:function(){var t="string"==typeof this.options.trigger?this.options.trigger.split(" "):[];this._isDisposed=!1,this._enableDocumentTouch=-1===t.indexOf("manual"),t=t.filter((function(t){return-1!==["click","hover","focus"].indexOf(t)})),this._setEventListeners(this.reference,t,this.options),this.$_originalTitle=this.reference.getAttribute("title"),this.reference.removeAttribute("title"),this.reference.setAttribute("data-original-title",this.$_originalTitle)}},{key:"_create",value:function(t,e){var n=this,i=window.document.createElement("div");i.innerHTML=e.trim();var o=i.childNodes[0];return o.id=this.options.ariaId||"tooltip_".concat(Math.random().toString(36).substr(2,10)),o.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(o.addEventListener("mouseenter",(function(e){return n._scheduleHide(t,n.options.delay,n.options,e)})),o.addEventListener("click",(function(e){return n._scheduleHide(t,n.options.delay,n.options,e)}))),o}},{key:"_setContent",value:function(t,e){var n=this;this.asyncContent=!1,this._applyContent(t,e).then((function(){n.popperInstance&&n.popperInstance.update()}))}},{key:"_applyContent",value:function(t,e){var n=this;return new Promise((function(i,o){var r=e.html,a=n._tooltipNode;if(a){var s=a.querySelector(n.options.innerSelector);if(1===t.nodeType){if(r){for(;s.firstChild;)s.removeChild(s.firstChild);s.appendChild(t)}}else{if("function"==typeof t){var l=t();return void(l&&"function"==typeof l.then?(n.asyncContent=!0,e.loadingClass&&pi(a,e.loadingClass),e.loadingContent&&n._applyContent(e.loadingContent,e),l.then((function(t){return e.loadingClass&&mi(a,e.loadingClass),n._applyContent(t,e)})).then(i).catch(o)):n._applyContent(l,e).then(i).catch(o))}r?s.innerHTML=t:s.innerText=t}i()}}))}},{key:"_show",value:function(t,e){if(e&&"string"==typeof e.container&&!document.querySelector(e.container))return;clearTimeout(this._disposeTimer),delete(e=Object.assign({},e)).offset;var n=!0;this._tooltipNode&&(pi(this._tooltipNode,this._classes),n=!1);var i=this._ensureShown(t,e);return n&&this._tooltipNode&&pi(this._tooltipNode,this._classes),pi(t,["v-tooltip-open"]),i}},{key:"_ensureShown",value:function(t,e){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,yi.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(e.title,e),this;var i=t.getAttribute("title")||e.title;if(!i)return this;var o=this._create(t,e.template);this._tooltipNode=o,t.setAttribute("aria-describedby",o.id);var r=this._findContainer(e.container,t);this._append(o,r);var a=gi(gi({},e.popperOptions),{},{placement:e.placement});return a.modifiers=gi(gi({},a.modifiers),{},{arrow:{element:this.options.arrowSelector}}),e.boundariesElement&&(a.modifiers.preventOverflow={boundariesElement:e.boundariesElement}),this.popperInstance=new Xn(t,o,a),this._setContent(i,e),requestAnimationFrame((function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame((function(){n._isDisposed?n.dispose():n._isOpen&&o.setAttribute("aria-hidden","false")}))):n.dispose()})),this}},{key:"_noLongerOpen",value:function(){var t=yi.indexOf(this);-1!==t&&yi.splice(t,1)}},{key:"_hide",value:function(){var t=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var e=Oi.options.disposeTimeout;return null!==e&&(this._disposeTimer=setTimeout((function(){t._tooltipNode&&(t._tooltipNode.removeEventListener("mouseenter",t.hide),t._tooltipNode.removeEventListener("click",t.hide),t._removeTooltipNode())}),e)),mi(this.reference,["v-tooltip-open"]),this}},{key:"_removeTooltipNode",value:function(){if(this._tooltipNode){var t=this._tooltipNode.parentNode;t&&(t.removeChild(this._tooltipNode),this.reference.removeAttribute("aria-describedby")),this._tooltipNode=null}}},{key:"_dispose",value:function(){var t=this;return this._isDisposed=!0,this.reference.removeAttribute("data-original-title"),this.$_originalTitle&&this.reference.setAttribute("title",this.$_originalTitle),this._events.forEach((function(e){var n=e.func,i=e.event;t.reference.removeEventListener(i,n)})),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||this._removeTooltipNode()):this._noLongerOpen(),this}},{key:"_findContainer",value:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t}},{key:"_append",value:function(t,e){e.appendChild(t)}},{key:"_setEventListeners",value:function(t,e,n){var i=this,o=[],r=[];e.forEach((function(t){switch(t){case"hover":o.push("mouseenter"),r.push("mouseleave"),i.options.hideOnTargetClick&&r.push("click");break;case"focus":o.push("focus"),r.push("blur"),i.options.hideOnTargetClick&&r.push("click");break;case"click":o.push("click"),r.push("click")}})),o.forEach((function(e){var o=function(e){!0!==i._isOpen&&(e.usedByTooltip=!0,i._scheduleShow(t,n.delay,n,e))};i._events.push({event:e,func:o}),t.addEventListener(e,o)})),r.forEach((function(e){var o=function(e){!0!==e.usedByTooltip&&i._scheduleHide(t,n.delay,n,e)};i._events.push({event:e,func:o}),t.addEventListener(e,o)}))}},{key:"_onDocumentTouch",value:function(t){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,t)}},{key:"_scheduleShow",value:function(t,e,n){var i=this,o=e&&e.show||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout((function(){return i._show(t,n)}),o)}},{key:"_scheduleHide",value:function(t,e,n,i){var o=this,r=e&&e.hide||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout((function(){if(!1!==o._isOpen&&o._tooltipNode.ownerDocument.body.contains(o._tooltipNode)){if("mouseleave"===i.type)if(o._setTooltipNodeEvent(i,t,e,n))return;o._hide(t,n)}}),r)}}]),t}();function bi(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function _i(t){for(var e=1;e
',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultOpenClass:"open",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function Si(t){var e={placement:void 0!==t.placement?t.placement:Oi.options.defaultPlacement,delay:void 0!==t.delay?t.delay:Oi.options.defaultDelay,html:void 0!==t.html?t.html:Oi.options.defaultHtml,template:void 0!==t.template?t.template:Oi.options.defaultTemplate,arrowSelector:void 0!==t.arrowSelector?t.arrowSelector:Oi.options.defaultArrowSelector,innerSelector:void 0!==t.innerSelector?t.innerSelector:Oi.options.defaultInnerSelector,trigger:void 0!==t.trigger?t.trigger:Oi.options.defaultTrigger,offset:void 0!==t.offset?t.offset:Oi.options.defaultOffset,container:void 0!==t.container?t.container:Oi.options.defaultContainer,boundariesElement:void 0!==t.boundariesElement?t.boundariesElement:Oi.options.defaultBoundariesElement,autoHide:void 0!==t.autoHide?t.autoHide:Oi.options.autoHide,hideOnTargetClick:void 0!==t.hideOnTargetClick?t.hideOnTargetClick:Oi.options.defaultHideOnTargetClick,loadingClass:void 0!==t.loadingClass?t.loadingClass:Oi.options.defaultLoadingClass,loadingContent:void 0!==t.loadingContent?t.loadingContent:Oi.options.defaultLoadingContent,popperOptions:_i({},void 0!==t.popperOptions?t.popperOptions:Oi.options.defaultPopperOptions)};if(e.offset){var n=Ie()(e.offset),i=e.offset;("number"===n||"string"===n&&-1===i.indexOf(","))&&(i="0, ".concat(i)),e.popperOptions.modifiers||(e.popperOptions.modifiers={}),e.popperOptions.modifiers.offset={offset:i}}return e.trigger&&-1!==e.trigger.indexOf("click")&&(e.hideOnTargetClick=!1),e}function Pi(t,e){for(var n=t.placement,i=0;i2&&void 0!==arguments[2]?arguments[2]:{},i=Ti(e),o=void 0!==e.classes?e.classes:Oi.options.defaultClass,r=_i({title:i},Si(_i(_i({},"object"===Ie()(e)?e:{}),{},{placement:Pi(e,n)}))),a=t._tooltip=new wi(t,r);a.setClasses(o),a._vueEl=t;var s=void 0!==e.targetClasses?e.targetClasses:Oi.options.defaultTargetClass;return t._tooltipTargetClasses=s,pi(t,s),a}(t,n,o),void 0!==n.show&&n.show!==t._tooltipOldShow&&(t._tooltipOldShow=n.show,n.show?i.show():i.hide())):zi(t)}var Oi={options:Ci,bind:Ei,update:Ei,unbind:function(t){zi(t)}};function Ai(t){t.addEventListener("click",Mi),t.addEventListener("touchstart",ji,!!di&&{passive:!0})}function $i(t){t.removeEventListener("click",Mi),t.removeEventListener("touchstart",ji),t.removeEventListener("touchend",Bi),t.removeEventListener("touchcancel",Li)}function Mi(t){var e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function ji(t){if(1===t.changedTouches.length){var e=t.currentTarget;e.$_vclosepopover_touch=!0;var n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",Bi),e.addEventListener("touchcancel",Li)}}function Bi(t){var e=t.currentTarget;if(e.$_vclosepopover_touch=!1,1===t.changedTouches.length){var n=t.changedTouches[0],i=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-i.screenY)<20&&Math.abs(n.screenX-i.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function Li(t){t.currentTarget.$_vclosepopover_touch=!1}var Ii={bind:function(t,e){var n=e.value,i=e.modifiers;t.$_closePopoverModifiers=i,(void 0===n||n)&&Ai(t)},update:function(t,e){var n=e.value,i=e.oldValue,o=e.modifiers;t.$_closePopoverModifiers=o,n!==i&&(void 0===n||n?Ai(t):$i(t))},unbind:function(t){$i(t)}};function Wi(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Ni(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},n=e.event;e.skipDelay;var i=e.force,o=void 0!==i&&i;!o&&this.disabled||(this.$_scheduleShow(n),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame((function(){t.$_beingShowed=!1}))},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.event;t.skipDelay,this.$_scheduleHide(e),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var t=this,e=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var i=this.$_findContainer(this.container,e);if(!i)return void console.warn("No container for popover",this);i.appendChild(n),this.$_mounted=!0,this.isOpen=!1,this.popperInstance&&requestAnimationFrame((function(){t.hidden||(t.isOpen=!0)}))}if(!this.popperInstance){var o=Ni(Ni({},this.popperOptions),{},{placement:this.placement});if(o.modifiers=Ni(Ni({},o.modifiers),{},{arrow:Ni(Ni({},o.modifiers&&o.modifiers.arrow),{},{element:this.$refs.arrow})}),this.offset){var r=this.$_getOffset();o.modifiers.offset=Ni(Ni({},o.modifiers&&o.modifiers.offset),{},{offset:r})}this.boundariesElement&&(o.modifiers.preventOverflow=Ni(Ni({},o.modifiers&&o.modifiers.preventOverflow),{},{boundariesElement:this.boundariesElement})),this.popperInstance=new Xn(e,n,o),requestAnimationFrame((function(){if(t.hidden)return t.hidden=!1,void t.$_hide();!t.$_isDisposed&&t.popperInstance?(t.popperInstance.scheduleUpdate(),requestAnimationFrame((function(){if(t.hidden)return t.hidden=!1,void t.$_hide();t.$_isDisposed?t.dispose():t.isOpen=!0}))):t.dispose()}))}var a=this.openGroup;if(a)for(var s,l=0;l1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),t)this.$_show();else{var e=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),e)}},$_scheduleHide:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var i=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout((function(){if(t.isOpen){if(e&&"mouseleave"===e.type)if(t.$_setTooltipNodeEvent(e))return;t.$_hide()}}),i)}},$_setTooltipNodeEvent:function(t){var e=this,n=this.$refs.trigger,i=this.$refs.popover,o=t.relatedreference||t.toElement||t.relatedTarget;return!!i.contains(o)&&(i.addEventListener(t.type,(function o(r){var a=r.relatedreference||r.toElement||r.relatedTarget;i.removeEventListener(t.type,o),n.contains(a)||e.hide({event:r})})),!0)},$_removeEventListeners:function(){var t=this.$refs.trigger;this.$_events.forEach((function(e){var n=e.func,i=e.event;t.removeEventListener(i,n)})),this.$_events=[]},$_updatePopper:function(t){this.popperInstance&&(t(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var t=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),t&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout((function(){e.$_preventOpen=!1}),300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function Vi(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=function(n){var i=Di[n];if(i.$refs.popover){var o=i.$refs.popover.contains(t.target);requestAnimationFrame((function(){(t.closeAllPopover||t.closePopover&&o||i.autoHide&&!o)&&i.$_handleGlobalClose(t,e)}))}},i=0;i1&&void 0!==arguments[1]?arguments[1]:{};if(!t.installed){t.installed=!0;var i={};li()(i,Ci,n),Ji.options=i,Oi.options=i,e.directive("tooltip",Oi),e.directive("close-popover",Ii),e.component("VPopover",Ki)}},get enabled(){return ki.enabled},set enabled(t){ki.enabled=t}},Xi=null;"undefined"!=typeof window?Xi=window.Vue:"undefined"!=typeof global&&(Xi=global.Vue),Xi&&Xi.use(Ji);var Qi=Ji;n(276);i.a.component("ABackToTop",()=>n.e(58).then(n.bind(null,495))),i.a.component("AButton",()=>Promise.all([n.e(0),n.e(24)]).then(n.bind(null,496))),i.a.component("AChangelog",()=>n.e(59).then(n.bind(null,497))),i.a.component("AControl",()=>Promise.all([n.e(0),n.e(26)]).then(n.bind(null,498))),i.a.component("ACommentCount",()=>Promise.all([n.e(0),n.e(25)]).then(n.bind(null,499))),i.a.component("ACreated",()=>Promise.all([n.e(0),n.e(27)]).then(n.bind(null,500))),i.a.component("ADeeplink",()=>n.e(60).then(n.bind(null,501))),i.a.component("AGoogleAd",()=>Promise.all([n.e(0),n.e(28)]).then(n.bind(null,502))),i.a.component("AIcon",()=>Promise.all([n.e(0),n.e(29)]).then(n.bind(null,503))),i.a.component("AKey",()=>n.e(61).then(n.bind(null,504))),i.a.component("ANotation",()=>Promise.all([n.e(0),n.e(30)]).then(n.bind(null,505))),i.a.component("ARedirect",()=>n.e(62).then(n.bind(null,506))),i.a.component("ASponsorAd",()=>Promise.all([n.e(0),n.e(31)]).then(n.bind(null,507))),i.a.component("ATextToSpeech",()=>n.e(63).then(n.bind(null,508))),i.a.component("AThemeToggle",()=>n.e(64).then(n.bind(null,509))),i.a.component("AUpdated",()=>Promise.all([n.e(0),n.e(32)]).then(n.bind(null,510))),i.a.component("GAffiliates",()=>Promise.all([n.e(0),n.e(54),n.e(33)]).then(n.bind(null,511))),i.a.component("GSiteSettings",()=>Promise.all([n.e(0),n.e(3),n.e(34)]).then(n.bind(null,512))),i.a.component("MAccessLinks",()=>Promise.all([n.e(0),n.e(39)]).then(n.bind(null,513))),i.a.component("MBlogLinks",()=>Promise.all([n.e(0),n.e(40)]).then(n.bind(null,514))),i.a.component("MBlogMeta",()=>Promise.all([n.e(0),n.e(41)]).then(n.bind(null,515))),i.a.component("MBlogTagList",()=>Promise.all([n.e(0),n.e(15)]).then(n.bind(null,516))),i.a.component("MBlogTagNav",()=>Promise.all([n.e(0),n.e(42)]).then(n.bind(null,517))),i.a.component("MComments",()=>Promise.all([n.e(0),n.e(43)]).then(n.bind(null,518))),i.a.component("MEmailSender",()=>Promise.all([n.e(0),n.e(44)]).then(n.bind(null,519))),i.a.component("MFeatures",()=>Promise.all([n.e(0),n.e(45)]).then(n.bind(null,520))),i.a.component("MFooter",()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,521))),i.a.component("MSocialLinks",()=>Promise.all([n.e(0),n.e(46)]).then(n.bind(null,522))),i.a.component("Home-Hero",()=>Promise.all([n.e(0),n.e(9)]).then(n.bind(null,487))),i.a.component("Home-Preview",()=>Promise.all([n.e(0),n.e(35)]).then(n.bind(null,523))),i.a.component("Home-Reviews",()=>Promise.all([n.e(0),n.e(36)]).then(n.bind(null,524))),i.a.component("Home-Section",()=>Promise.all([n.e(0),n.e(37)]).then(n.bind(null,525))),i.a.component("Home-Videos",()=>Promise.all([n.e(0),n.e(38)]).then(n.bind(null,526))),i.a.component("Badge",()=>Promise.all([n.e(0),n.e(21)]).then(n.bind(null,593))),i.a.component("CodeBlock",()=>Promise.all([n.e(0),n.e(22)]).then(n.bind(null,527))),i.a.component("CodeGroup",()=>Promise.all([n.e(0),n.e(23)]).then(n.bind(null,528)));n(277),n(278);function Zi(t){const e=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{x:n.left-e.left,y:n.top-e.top}}var to={tag:{technical:{key:"technical",scope:"tag",path:"/blog/tag/technical/",pageKeys:["v-01aa2ce2","v-2fec31fc","v-ff74563c","v-4b7e6c3c","v-1131db82","v-3fb87dbc","v-bfc8be7c","v-4182c7bc","v-72bfdbc2"]},sharing:{key:"sharing",scope:"tag",path:"/blog/tag/sharing/",pageKeys:["v-667fa73c","v-79f79f20","v-2fec31fc","v-ff74563c","v-ac7b70bc","v-fbbdb2e0","v-26dc8250","v-3fb87dbc","v-bfc8be7c","v-4182c7bc"]},random:{key:"random",scope:"tag",path:"/blog/tag/random/",pageKeys:["v-667fa73c","v-469b7b80"]},tips:{key:"tips",scope:"tag",path:"/blog/tag/tips/",pageKeys:["v-79f79f20","v-469b7b80","v-ac7b70bc","v-4b7e6c3c","v-fbbdb2e0","v-26dc8250","v-44a529fc","v-301172dc"]},"win7-simu":{key:"win7-simu",scope:"tag",path:"/blog/tag/win7-simu/",pageKeys:["v-2fec31fc","v-ac7b70bc","v-4b7e6c3c","v-fbbdb2e0","v-194e1218","v-3fb87dbc","v-44a529fc","v-bfc8be7c","v-4182c7bc","v-3424310c","v-301172dc"]},"brick-1100":{key:"brick-1100",scope:"tag",path:"/blog/tag/brick-1100/",pageKeys:["v-ff74563c","v-194e1218"]},review:{key:"review",scope:"tag",path:"/blog/tag/review/",pageKeys:["v-194e1218","v-3424310c"]},tools:{key:"tools",scope:"tag",path:"/blog/tag/tools/",pageKeys:["v-1131db82","v-72bfdbc2"]},"guest-post":{key:"guest-post",scope:"tag",path:"/blog/tag/guest-post/",pageKeys:["v-bfc8be7c"]}}};class eo{constructor(t,e){this._metaMap=Object.assign({},t),Object.keys(this._metaMap).forEach(t=>{const{pageKeys:n}=this._metaMap[t];this._metaMap[t].pages=n.map(t=>function(t,e){for(let n=0;n{const{pages:n,path:i}=this._metaMap[e];t.push({name:e,pages:n,path:i})}),t}getItemByName(t){return this._metaMap[t]}}var no={tag:(t,e)=>{const i=n(279);return i(t.frontmatter.date)-i(e.frontmatter.date)>0?-1:1}},io={tag:function(t,e,n){const i=e;return["tag","tags"].some(e=>{const n=t.frontmatter[e];return Array.isArray(n)?n.some(t=>t==i):n==i})}},oo=[{pid:"tag",id:"technical",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/technical/",interval:[0,9]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"sharing",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/sharing/",interval:[0,9]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"random",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/random/",interval:[0,2]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"tips",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/tips/",interval:[0,8]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"win7-simu",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/win7-simu/",interval:[0,9]},{path:"/blog/tag/win7-simu/page/2/",interval:[10,11]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"brick-1100",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/brick-1100/",interval:[0,2]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"review",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/review/",interval:[0,2]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"tools",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/tools/",interval:[0,2]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"guest-post",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/guest-post/",interval:[0,1]}],prevText:"Prev",nextText:"Next"}],ro=n(125);const ao=n.n(ro)()("plugin-blog:pagination");class so{constructor(t,e,n){ao("pagination",t);const{pages:i,prevText:o,nextText:r}=t,{path:a}=n;this._prevText=o,this._nextText=r;for(let t=0,e=i.length;tt.filter(e,t.id,t.pid)).sort(t.sorter)}setIndexPage(t){this._indexPage=t}get length(){return this._paginationPages.length}get pages(){const[t,e]=this._currentPage.interval;return this._matchedPages.slice(t,e+1)}get hasPrev(){return 0!==this.paginationIndex}get prevLink(){return this.hasPrev?this.paginationIndex-1==0&&this._indexPage?this._indexPage:this._paginationPages[this.paginationIndex-1].path:null}get hasNext(){return this.paginationIndex!==this.length-1}get nextLink(){return this.hasNext?this._paginationPages[this.paginationIndex+1].path:null}get prevText(){return this._prevText}get nextText(){return this._nextText}getSpecificPageLink(t){return this._paginationPages[t].path}}const lo=new class{constructor(t){this.paginations=t}get pages(){return i.a.$vuepress.$get("siteData").pages}getPagination(t,e,n){ao("id",e),ao("pid",t);const i=this.paginations.filter(n=>n.id===e&&n.pid===t)[0];return new so(i,this.pages,n)}}(oo);var co={comment:{enabled:!1,service:""},email:{enabled:!1},feed:{rss:!0,atom:!0,json:!0}},uo={created(){void 0!==this.$ssrContext&&(this.$ssrContext.userHeadTags+=``)},methods:{computeURL(){return"https://visnalize.com"+this.$page.path}}},po=Object($e.a)(uo,(function(){return(0,this._self._c)("div")}),[],!1,null,null,null).exports,mo=n(107),ho=n.n(mo);i.a.component("TextToSpeech",()=>n.e(57).then(n.bind(null,594)));var fo=[({Vue:t,options:e,router:n,siteData:i})=>{t.use(Qi)},{},({Vue:t})=>{t.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{},({Vue:t,router:e})=>{e.options.scrollBehavior=(e,n,i)=>{if(i)return window.scrollTo({top:i.y,behavior:"smooth"});if(e.hash){if(t.$vuepress.$get("disableScrollBehavior"))return!1;const n=document.querySelector(e.hash);return!!n&&window.scrollTo({top:Zi(n).y,behavior:"smooth"})}return window.scrollTo({top:0,behavior:"smooth"})}},({Vue:t})=>{const e=Object.keys(to).map(t=>{const e=to[t],n="$"+t;return{[n](){const{pages:t}=this.$site;return new eo(e,t)},["$current"+(t.charAt(0).toUpperCase()+t.slice(1))](){const t=this.$route.meta.id;return this[n].getItemByName(t)}}}).reduce((t,e)=>(Object.assign(t,e),t),{});e.$frontmatterKey=function(){const t=this["$"+this.$route.meta.id];return t||null},t.mixin({computed:e})},({Vue:t})=>{t.mixin({computed:{$pagination(){return this.$route.meta.pid&&this.$route.meta.id?this.$getPagination(this.$route.meta.pid,this.$route.meta.id):null}},methods:{$getPagination(t,e){return e=e||t,lo.getPagination(t,e,this.$route)}}})},({Vue:t})=>{const e={$service:()=>co};t.mixin({computed:e})},({Vue:t,options:e})=>{t.component("Canonical",po)},ho.a,({Vue:t})=>{const e=JSON.parse('{"shortname":"visnalize"}'),i=e.name||"Disqus",o=()=>n.e(56).then(n.bind(null,529));delete e.name,t.component(i,{functional:!0,render(t,{parent:n,props:i}){let r;if(r="en-US"===n.$lang?"en":n.$lang.replace(/\-/,"_"),n._isMounted)return t(o,{props:Object.assign({language:r},e,i)});n.$once("hook:mounted",()=>{n.$forceUpdate()})}})},{}],go=["GSiteSettings","GAffiliates","Canonical"];class vo extends class{constructor(){this.store=new i.a({data:{state:{}}})}$get(t){return this.store.state[t]}$set(t,e){i.a.set(this.store.state,t,e)}$emit(...t){this.store.$emit(...t)}$on(...t){this.store.$on(...t)}}{}Object.assign(vo.prototype,{getPageAsyncComponent:le,getLayoutAsyncComponent:ce,getAsyncComponent:ue,getVueComponent:pe});var yo={install(t){const e=new vo;t.$vuepress=e,t.prototype.$vuepress=e}};function wo(t,e){const n=e.toLowerCase();return t.options.routes.some(t=>t.path.toLowerCase()===n)}var bo={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(t){const e=this.pageKey||this.$parent.$page.key;return de("pageKey",e),i.a.component(e)||i.a.component(e,le(e)),i.a.component(e)?t(e):t("")}},_o={functional:!0,props:{slotKey:String,required:!0},render:(t,{props:e,slots:n})=>t("div",{class:["content__"+e.slotKey]},n()[e.slotKey])},ko={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},xo=(n(310),n(311),Object($e.a)(ko,(function(){var t=this._self._c;return t("span",[t("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[t("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),t("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),t("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),Co={functional:!0,render(t,{parent:e,children:n}){if(e._isMounted)return n;e.$once("hook:mounted",()=>{e.$forceUpdate()})}};i.a.config.productionTip=!1,i.a.use(Ht),i.a.use(yo),i.a.mixin(function(t,e,n=i.a){!function(t){t.locales&&Object.keys(t.locales).forEach(e=>{t.locales[e].path=e});Object.freeze(t)}(e),n.$vuepress.$set("siteData",e);const o=new(t(n.$vuepress.$get("siteData"))),r=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(o)),a={};return Object.keys(r).reduce((t,e)=>(e.startsWith("$")&&(t[e]=r[e].get),t),a),{computed:a}}(t=>class{setPage(t){this.__page=t}get $site(){return t}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:t={}}=this.$site;let e,n;for(const i in t)"/"===i?n=t[i]:0===this.$page.path.indexOf(i)&&(e=t[i]);return e||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:t}=this.$page.frontmatter;return"string"==typeof t&&t}get $title(){const t=this.$page,{metaTitle:e}=this.$page.frontmatter;if("string"==typeof e)return e;const n=this.$siteTitle,i=t.frontmatter.home?null:t.frontmatter.title||t.title;return n?i?i+" | "+n:n:i||"VuePress"}get $description(){const t=function(t){if(t){const e=t.filter(t=>"description"===t.name)[0];if(e)return e.content}}(this.$page.frontmatter.meta);return t||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(t,e){for(let n=0;nn||(t.hash?!i.a.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(t.hash)}:{x:0,y:0})});!function(t){t.beforeEach((e,n,i)=>{if(wo(t,e.path))i();else if(/(\/|\.html)$/.test(e.path))if(/\/$/.test(e.path)){const n=e.path.replace(/\/$/,"")+".html";wo(t,n)?i(n):i()}else i();else{const n=e.path+"/",o=e.path+".html";wo(t,o)?i(o):wo(t,n)?i(n):i()}})}(n);const o={};try{await Promise.all(fo.filter(t=>"function"==typeof t).map(e=>e({Vue:i.a,options:o,router:n,siteData:Be,isServer:t})))}catch(t){console.error(t)}return{app:new i.a(Object.assign(o,{router:n,render:t=>t("div",{attrs:{id:"app"}},[t("RouterView",{ref:"layout"}),t("div",{class:"global-ui"},go.map(e=>t(e)))])})),router:n}}(!1).then(({app:t,router:e})=>{e.onReady(()=>{t.$mount("#app")})})}]); \ No newline at end of file diff --git a/assets/js/app.ab71e1c2.js b/assets/js/app.ab71e1c2.js deleted file mode 100644 index 20dac2d8..00000000 --- a/assets/js/app.ab71e1c2.js +++ /dev/null @@ -1,21 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var i,a,s=e[0],l=e[1],c=e[2],p=0,d=[];p=0&&Math.floor(e)===e&&isFinite(t)}function f(t){return a(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function g(t){return null==t?"":Array.isArray(t)||d(t)&&t.toString===p?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function y(t,e){for(var n=Object.create(null),i=t.split(","),o=0;o-1)return t.splice(n,1)}}var _=Object.prototype.hasOwnProperty;function k(t,e){return _.call(t,e)}function x(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var C=/-(\w)/g,S=x((function(t){return t.replace(C,(function(t,e){return e?e.toUpperCase():""}))})),P=x((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),T=/\B([A-Z])/g,O=x((function(t){return t.replace(T,"-$1").toLowerCase()}));var z=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var i=arguments.length;return i?i>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function E(t,e){e=e||0;for(var n=t.length-e,i=new Array(n);n--;)i[n]=t[n+e];return i}function A(t,e){for(var n in e)t[n]=e[n];return t}function $(t){for(var e={},n=0;n0,Q=K&&K.indexOf("edge/")>0;K&&K.indexOf("android");var Z=K&&/iphone|ipad|ipod|ios/.test(K);K&&/chrome\/\d+/.test(K),K&&/phantomjs/.test(K);var tt,et=K&&K.match(/firefox\/(\d+)/),nt={}.watch,it=!1;if(Y)try{var ot={};Object.defineProperty(ot,"passive",{get:function(){it=!0}}),window.addEventListener("test-passive",null,ot)}catch(t){}var rt=function(){return void 0===tt&&(tt=!Y&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),tt},at=Y&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function st(t){return"function"==typeof t&&/native code/.test(t.toString())}var lt,ct="undefined"!=typeof Symbol&&st(Symbol)&&"undefined"!=typeof Reflect&&st(Reflect.ownKeys);lt="undefined"!=typeof Set&&st(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ut=null;function pt(t){void 0===t&&(t=null),t||ut&&ut._scope.off(),ut=t,t&&t._scope.on()}var dt=function(){function t(t,e,n,i,o,r,a,s){this.tag=t,this.data=e,this.children=n,this.text=i,this.elm=o,this.ns=void 0,this.context=r,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),mt=function(t){void 0===t&&(t="");var e=new dt;return e.text=t,e.isComment=!0,e};function ht(t){return new dt(void 0,void 0,void 0,String(t))}function ft(t){var e=new dt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var gt=0,vt=function(){function t(){this.id=gt++,this.subs=[]}return t.prototype.addSub=function(t){this.subs.push(t)},t.prototype.removeSub=function(t){b(this.subs,t)},t.prototype.depend=function(e){t.target&&t.target.addDep(this)},t.prototype.notify=function(t){var e=this.subs.slice();for(var n=0,i=e.length;n0&&(Yt((c=t(c,"".concat(n||"","_").concat(i)))[0])&&Yt(p)&&(d[u]=ht(p.text+c[0].text),c.shift()),d.push.apply(d,c)):l(c)?Yt(p)?d[u]=ht(p.text+c):""!==c&&d.push(ht(c)):Yt(c)&&Yt(p)?d[u]=ht(p.text+c.text):(s(e._isVList)&&a(c.tag)&&r(c.key)&&a(n)&&(c.key="__vlist".concat(n,"_").concat(i,"__")),d.push(c)));return d}(t):void 0}function Yt(t){return a(t)&&a(t.text)&&!1===t.isComment}function Kt(t,e){var n,i,r,s,l=null;if(o(t)||"string"==typeof t)for(l=new Array(t.length),n=0,i=t.length;n0,s=e?!!e.$stable:!a,l=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&o&&o!==i&&l===o.$key&&!a&&!o.$hasNormal)return o;for(var c in r={},e)e[c]&&"$"!==c[0]&&(r[c]=he(t,n,c,e[c]))}else r={};for(var u in n)u in r||(r[u]=fe(n,u));return e&&Object.isExtensible(e)&&(e._normalized=r),V(r,"$stable",s),V(r,"$key",l),V(r,"$hasNormal",a),r}function he(t,e,n,i){var r=function(){var e=ut;pt(t);var n=arguments.length?i.apply(null,arguments):i({}),r=(n=n&&"object"==typeof n&&!o(n)?[n]:Gt(n))&&n[0];return pt(e),n&&(!r||1===n.length&&r.isComment&&!de(r))?void 0:n};return i.proxy&&Object.defineProperty(e,n,{get:r,enumerable:!0,configurable:!0}),r}function fe(t,e){return function(){return t[e]}}function ge(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};V(e,"_v_attr_proxy",!0),ve(e,t.$attrs,i,t,"$attrs")}return t._attrsProxy},get listeners(){t._listenersProxy||ve(t._listenersProxy={},t.$listeners,i,t,"$listeners");return t._listenersProxy},get slots(){return function(t){t._slotsProxy||we(t._slotsProxy={},t.$scopedSlots);return t._slotsProxy}(t)},emit:z(t.$emit,t),expose:function(e){e&&Object.keys(e).forEach((function(n){return Wt(t,e,n)}))}}}function ve(t,e,n,i,o){var r=!1;for(var a in e)a in t?e[a]!==n[a]&&(r=!0):(r=!0,ye(t,a,i,o));for(var a in t)a in e||(r=!0,delete t[a]);return r}function ye(t,e,n,i){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[i][e]}})}function we(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}var be=null;function _e(t,e){return(t.__esModule||ct&&"Module"===t[Symbol.toStringTag])&&(t=t.default),u(t)?e.extend(t):t}function ke(t){if(o(t))for(var e=0;edocument.createEvent("Event").timeStamp&&(sn=function(){return ln.now()})}var cn=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function un(){var t,e;for(an=sn(),on=!0,Ze.sort(cn),rn=0;rnrn&&Ze[n].id>t.id;)n--;Ze.splice(n+1,0,t)}else Ze.push(t);nn||(nn=!0,Ie(un))}}function dn(t,e){if(t){for(var n=Object.create(null),i=ct?Reflect.ownKeys(t):Object.keys(t),o=0;o-1)if(r&&!k(o,"default"))a=!1;else if(""===a||a===O(t)){var l=jn(String,o.type);(l<0||s-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!m(t)&&t.test(e)}function Kn(t,e){var n=t.cache,i=t.keys,o=t._vnode;for(var r in n){var a=n[r];if(a){var s=a.name;s&&!e(s)&&Jn(n,r,i,o)}}}function Jn(t,e,n,i){var o=t[e];!o||i&&o.tag===i.tag||o.componentInstance.$destroy(),t[e]=null,b(n,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=Dn++,e._isVue=!0,e.__v_skip=!0,e._scope=new Ut(!0),e._scope._vm=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),i=e._parentVnode;n.parent=e.parent,n._parentVnode=i;var o=i.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=On(Fn(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._provided=n?n._provided:Object.create(null),t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ge(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,o=n&&n.context;t.$slots=ue(e._renderChildren,o),t.$scopedSlots=n?me(t.$parent,n.data.scopedSlots,t.$slots):i,t._c=function(e,n,i,o){return xe(t,e,n,i,o,!1)},t.$createElement=function(e,n,i,o){return xe(t,e,n,i,o,!0)};var r=n&&n.data;Et(t,"$attrs",r&&r.attrs||i,null,!0),Et(t,"$listeners",e._parentListeners||i,null,!0)}(e),Qe(e,"beforeCreate",void 0,!1),function(t){var e=dn(t.$options.inject,t);e&&(Pt(!1),Object.keys(e).forEach((function(n){Et(t,n,e[n])})),Pt(!0))}(e),In(e),function(t){var e=t.$options.provide;if(e){var n=c(e)?e.call(t):e;if(!u(n))return;for(var i=qt(t),o=ct?Reflect.ownKeys(n):Object.keys(n),r=0;r1?E(n):n;for(var i=E(arguments,1),o='event handler for "'.concat(t,'"'),r=0,a=n.length;rparseInt(this.max)&&Jn(t,e[0],e,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Jn(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Kn(t,(function(t){return Yn(e,t)}))})),this.$watch("exclude",(function(e){Kn(t,(function(t){return!Yn(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=ke(t),n=e&&e.componentOptions;if(n){var i=Gn(n),o=this.include,r=this.exclude;if(o&&(!i||!Yn(o,i))||r&&i&&Yn(r,i))return e;var a=this.cache,s=this.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;a[l]?(e.componentInstance=a[l].componentInstance,b(s,l),s.push(l)):(this.vnodeToCache=e,this.keyToCache=l),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return R}};Object.defineProperty(t,"config",e),t.util={warn:_n,extend:A,mergeOptions:On,defineReactive:Et},t.set=At,t.delete=$t,t.nextTick=Ie,t.observable=function(t){return zt(t),t},t.options=Object.create(null),U.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,A(t.options.components,Qn),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=E(arguments,1);return n.unshift(this),c(t.install)?t.install.apply(t,n):c(t)&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=On(this.options,t),this}}(t),Hn(t),function(t){U.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&d(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&c(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Vn),Object.defineProperty(Vn.prototype,"$isServer",{get:rt}),Object.defineProperty(Vn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Vn,"FunctionalRenderContext",{value:mn}),Vn.version="2.7.10";var Zn=y("style,class"),ti=y("input,textarea,option,select,progress"),ei=y("contenteditable,draggable,spellcheck"),ni=y("events,caret,typing,plaintext-only"),ii=y("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),oi="http://www.w3.org/1999/xlink",ri=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},ai=function(t){return ri(t)?t.slice(6,t.length):""},si=function(t){return null==t||!1===t};function li(t){for(var e=t.data,n=t,i=t;a(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(e=ci(i.data,e));for(;a(n=n.parent);)n&&n.data&&(e=ci(e,n.data));return function(t,e){if(a(t)||a(e))return ui(t,pi(e));return""}(e.staticClass,e.class)}function ci(t,e){return{staticClass:ui(t.staticClass,e.staticClass),class:a(t.class)?[t.class,e.class]:e.class}}function ui(t,e){return t?e?t+" "+e:t:e||""}function pi(t){return Array.isArray(t)?function(t){for(var e,n="",i=0,o=t.length;i-1?Bi(t,e,n):ii(e)?si(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):ei(e)?t.setAttribute(e,function(t,e){return si(e)||"false"===e?"false":"contenteditable"===t&&ni(e)?e:"true"}(e,n)):ri(e)?si(n)?t.removeAttributeNS(oi,ai(e)):t.setAttributeNS(oi,e,n):Bi(t,e,n)}function Bi(t,e,n){if(si(n))t.removeAttribute(e);else{if(J&&!X&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var i=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",i)};t.addEventListener("input",i),t.__ieph=!0}t.setAttribute(e,n)}}var Li={create:Mi,update:Mi};function Ii(t,e){var n=e.elm,i=e.data,o=t.data;if(!(r(i.staticClass)&&r(i.class)&&(r(o)||r(o.staticClass)&&r(o.class)))){var s=li(e),l=n._transitionClasses;a(l)&&(s=ui(s,pi(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var Wi,Ni={create:Ii,update:Ii};function Ui(t,e,n){var i=Wi;return function o(){var r=e.apply(null,arguments);null!==r&&Di(t,o,n,i)}}var qi=ze&&!(et&&Number(et[1])<=53);function Ri(t,e,n,i){if(qi){var o=an,r=e;e=r._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return r.apply(this,arguments)}}Wi.addEventListener(t,e,it?{capture:n,passive:i}:n)}function Di(t,e,n,i){(i||Wi).removeEventListener(t,e._wrapper||e,n)}function Fi(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},i=t.data.on||{};Wi=e.elm||t.elm,function(t){if(a(t.__r)){var e=J?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}a(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(n),Ft(n,i,Ri,Di,Ui,e.context),Wi=void 0}}var Vi,Hi={create:Fi,update:Fi,destroy:function(t){return Fi(t,ki)}};function Gi(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,o=e.elm,l=t.data.domProps||{},c=e.data.domProps||{};for(n in(a(c.__ob__)||s(c._v_attr_proxy))&&(c=e.data.domProps=A({},c)),l)n in c||(o[n]="");for(n in c){if(i=c[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),i===l[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=i;var u=r(i)?"":String(i);Yi(o,u)&&(o.value=u)}else if("innerHTML"===n&&hi(o.tagName)&&r(o.innerHTML)){(Vi=Vi||document.createElement("div")).innerHTML="".concat(i,"");for(var p=Vi.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;p.firstChild;)o.appendChild(p.firstChild)}else if(i!==l[n])try{o[n]=i}catch(t){}}}}function Yi(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,i=t._vModifiers;if(a(i)){if(i.number)return v(n)!==v(e);if(i.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Ki={create:Gi,update:Gi},Ji=x((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var i=t.split(n);i.length>1&&(e[i[0].trim()]=i[1].trim())}})),e}));function Xi(t){var e=Qi(t.style);return t.staticStyle?A(t.staticStyle,e):e}function Qi(t){return Array.isArray(t)?$(t):"string"==typeof t?Ji(t):t}var Zi,to=/^--/,eo=/\s*!important$/,no=function(t,e,n){if(to.test(e))t.style.setProperty(e,n);else if(eo.test(n))t.style.setProperty(O(e),n.replace(eo,""),"important");else{var i=oo(e);if(Array.isArray(n))for(var o=0,r=n.length;o-1?e.split(so).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function co(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(so).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),i=" "+e+" ";n.indexOf(i)>=0;)n=n.replace(i," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function uo(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&A(e,po(t.name||"v")),A(e,t),e}return"string"==typeof t?po(t):void 0}}var po=x((function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}})),mo=Y&&!X,ho="transition",fo="transitionend",go="animation",vo="animationend";mo&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ho="WebkitTransition",fo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(go="WebkitAnimation",vo="webkitAnimationEnd"));var yo=Y?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function wo(t){yo((function(){yo(t)}))}function bo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),lo(t,e))}function _o(t,e){t._transitionClasses&&b(t._transitionClasses,e),co(t,e)}function ko(t,e,n){var i=Co(t,e),o=i.type,r=i.timeout,a=i.propCount;if(!o)return n();var s="transition"===o?fo:vo,l=0,c=function(){t.removeEventListener(s,u),n()},u=function(e){e.target===t&&++l>=a&&c()};setTimeout((function(){l0&&(n="transition",u=a,p=r.length):"animation"===e?c>0&&(n="animation",u=c,p=l.length):p=(n=(u=Math.max(a,c))>0?a>c?"transition":"animation":null)?"transition"===n?r.length:l.length:0,{type:n,timeout:u,propCount:p,hasTransform:"transition"===n&&xo.test(i[ho+"Property"])}}function So(t,e){for(;t.length1}function Ao(t,e){!0!==e.data.show&&To(e)}var $o=function(t){var e,n,i={},c=t.modules,u=t.nodeOps;for(e=0;eh?b(t,r(n[v+1])?null:n[v+1].elm,n,m,v,i):m>v&&k(e,p,h)}(p,f,v,n,c):a(v)?(a(t.text)&&u.setTextContent(p,""),b(p,null,v,0,v.length-1,n)):a(f)?k(f,0,f.length-1):a(t.text)&&u.setTextContent(p,""):t.text!==e.text&&u.setTextContent(p,e.text),a(h)&&a(m=h.hook)&&a(m=m.postpatch)&&m(t,e)}}}function P(t,e,n){if(s(n)&&a(t.parent))t.parent.data.pendingInsert=e;else for(var i=0;i-1,a.selected!==r&&(a.selected=r);else if(L(Io(a),i))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function Lo(t,e){return e.every((function(e){return!L(e,t)}))}function Io(t){return"_value"in t?t._value:t.value}function Wo(t){t.target.composing=!0}function No(t){t.target.composing&&(t.target.composing=!1,Uo(t.target,"input"))}function Uo(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function qo(t){return!t.componentInstance||t.data&&t.data.transition?t:qo(t.componentInstance._vnode)}var Ro={model:Mo,show:{bind:function(t,e,n){var i=e.value,o=(n=qo(n)).data&&n.data.transition,r=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;i&&o?(n.data.show=!0,To(n,(function(){t.style.display=r}))):t.style.display=i?r:"none"},update:function(t,e,n){var i=e.value;!i!=!e.oldValue&&((n=qo(n)).data&&n.data.transition?(n.data.show=!0,i?To(n,(function(){t.style.display=t.__vOriginalDisplay})):Oo(n,(function(){t.style.display="none"}))):t.style.display=i?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,i,o){o||(t.style.display=t.__vOriginalDisplay)}}},Do={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Fo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Fo(ke(e.children)):t}function Vo(t){var e={},n=t.$options;for(var i in n.propsData)e[i]=t[i];var o=n._parentListeners;for(var i in o)e[S(i)]=o[i];return e}function Ho(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Go=function(t){return t.tag||de(t)},Yo=function(t){return"show"===t.name},Ko={name:"transition",props:Do,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Go)).length){0;var i=this.mode;0;var o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var r=Fo(o);if(!r)return o;if(this._leaving)return Ho(t,o);var a="__transition-".concat(this._uid,"-");r.key=null==r.key?r.isComment?a+"comment":a+r.tag:l(r.key)?0===String(r.key).indexOf(a)?r.key:a+r.key:r.key;var s=(r.data||(r.data={})).transition=Vo(this),c=this._vnode,u=Fo(c);if(r.data.directives&&r.data.directives.some(Yo)&&(r.data.show=!0),u&&u.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(r,u)&&!de(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var p=u.data.transition=A({},s);if("out-in"===i)return this._leaving=!0,Vt(p,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Ho(t,o);if("in-out"===i){if(de(r))return c;var d,m=function(){d()};Vt(s,"afterEnter",m),Vt(s,"enterCancelled",m),Vt(p,"delayLeave",(function(t){d=t}))}}return o}}},Jo=A({tag:String,moveClass:String},Do);function Xo(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Qo(t){t.data.newPos=t.elm.getBoundingClientRect()}function Zo(t){var e=t.data.pos,n=t.data.newPos,i=e.left-n.left,o=e.top-n.top;if(i||o){t.data.moved=!0;var r=t.elm.style;r.transform=r.WebkitTransform="translate(".concat(i,"px,").concat(o,"px)"),r.transitionDuration="0s"}}delete Jo.mode;var tr={Transition:Ko,TransitionGroup:{props:Jo,beforeMount:function(){var t=this,e=this._update;this._update=function(n,i){var o=Ke(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,i)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),i=this.prevChildren=this.children,o=this.$slots.default||[],r=this.children=[],a=Vo(this),s=0;s-1?gi[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:gi[t]=/HTMLUnknownElement/.test(e.toString())},A(Vn.options.directives,Ro),A(Vn.options.components,tr),Vn.prototype.__patch__=Y?$o:M,Vn.prototype.$mount=function(t,e){return function(t,e,n){var i;t.$el=e,t.$options.render||(t.$options.render=mt),Qe(t,"beforeMount"),i=function(){t._update(t._render(),n)},new De(t,i,M,{before:function(){t._isMounted&&!t._isDestroyed&&Qe(t,"beforeUpdate")}},!0),n=!1;var o=t._preWatchers;if(o)for(var r=0;r40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},e.getSymbolTotalCodewords=function(t){return i[t]},e.getBCHDigit=function(t){let e=0;for(;0!==t;)e++,t>>>=1;return e},e.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');n=t},e.isKanjiModeEnabled=function(){return void 0!==n},e.toSJIS=function(t){return n(t)}},function(t,e,n){const i=n(112),o=n(113);e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(t,e){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!i.isValid(e))throw new Error("Invalid version: "+e);return e>=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},e.getBestModeForData=function(t){return o.testNumeric(t)?e.NUMERIC:o.testAlphanumeric(t)?e.ALPHANUMERIC:o.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},e.isValid=function(t){return t&&t.bit&&t.ccBits},e.from=function(t,n){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(t){return n}}},function(t,e){t.exports=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){"use strict";function i(t,e,n,i,o,r,a,s){var l,c="function"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=l):o&&(l=s?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:t,options:c}}n.d(e,"a",(function(){return i}))},function(t,e,n){var i=n(19),o=n(175),r=n(176),a=i?i.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?o(t):r(t)}},function(t,e,n){var i=n(66),o=i({}.toString),r=i("".slice);t.exports=function(t){return r(o(t),8,-1)}},function(t,e,n){var i=n(5).Symbol;t.exports=i},function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},function(t,e){function n(e){return t.exports=n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,n(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e,n){var i=n(2),o=n(1),r=function(t){return o(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?r(i[t]):i[t]&&i[t][e]}},function(t,e,n){var i=n(6),o=n(24),r=n(36);t.exports=i?function(t,e,n){return o.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(6),o=n(80),r=n(136),a=n(42),s=n(69),l=TypeError,c=Object.defineProperty,u=Object.getOwnPropertyDescriptor;e.f=i?r?function(t,e,n){if(a(t),e=s(e),a(n),"function"==typeof t&&"prototype"===e&&"value"in n&&"writable"in n&&!n.writable){var i=u(t,e);i&&i.writable&&(t[e]=n.value,n={configurable:"configurable"in n?n.configurable:i.configurable,enumerable:"enumerable"in n?n.enumerable:i.enumerable,writable:!1})}return c(t,e,n)}:c:function(t,e,n){if(a(t),e=s(e),a(n),o)try{return c(t,e,n)}catch(t){}if("get"in n||"set"in n)throw l("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(174),o=n(10),r=Object.prototype,a=r.hasOwnProperty,s=r.propertyIsEnumerable,l=i(function(){return arguments}())?i:function(t){return o(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=l},function(t,e,n){var i=n(180),o=n(181),r=n(182),a=n(183),s=n(184);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e
'};function o(t,e,n){return tn?n:t}function r(t){return 100*(-1+t)}n.configure=function(t){var e,n;for(e in t)void 0!==(n=t[e])&&t.hasOwnProperty(e)&&(i[e]=n);return this},n.status=null,n.set=function(t){var e=n.isStarted();t=o(t,i.minimum,1),n.status=1===t?null:t;var l=n.render(!e),c=l.querySelector(i.barSelector),u=i.speed,p=i.easing;return l.offsetWidth,a((function(e){""===i.positionUsing&&(i.positionUsing=n.getPositioningCSS()),s(c,function(t,e,n){var o;return(o="translate3d"===i.positionUsing?{transform:"translate3d("+r(t)+"%,0,0)"}:"translate"===i.positionUsing?{transform:"translate("+r(t)+"%,0)"}:{"margin-left":r(t)+"%"}).transition="all "+e+"ms "+n,o}(t,u,p)),1===t?(s(l,{transition:"none",opacity:1}),l.offsetWidth,setTimeout((function(){s(l,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),e()}),u)}),u)):setTimeout(e,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var t=function(){setTimeout((function(){n.status&&(n.trickle(),t())}),i.trickleSpeed)};return i.trickle&&t(),this},n.done=function(t){return t||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(t){var e=n.status;return e?("number"!=typeof t&&(t=(1-e)*o(Math.random()*e,.1,.95)),e=o(e+t,0,.994),n.set(e)):n.start()},n.trickle=function(){return n.inc(Math.random()*i.trickleRate)},t=0,e=0,n.promise=function(i){return i&&"resolved"!==i.state()?(0===e&&n.start(),t++,e++,i.always((function(){0==--e?(t=0,n.done()):n.set((t-e)/t)})),this):this},n.render=function(t){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var e=document.createElement("div");e.id="nprogress",e.innerHTML=i.template;var o,a=e.querySelector(i.barSelector),l=t?"-100":r(n.status||0),u=document.querySelector(i.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),i.showSpinner||(o=e.querySelector(i.spinnerSelector))&&d(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(e),e},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(i.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&d(t)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var a=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),s=function(){var t=["Webkit","O","Moz","ms"],e={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()})),e[n]||(e[n]=function(e){var n=document.body.style;if(e in n)return e;for(var i,o=t.length,r=e.charAt(0).toUpperCase()+e.slice(1);o--;)if((i=t[o]+r)in n)return i;return e}(n))}function i(t,e,i){e=n(e),t.style[e]=i}return function(t,e){var n,o,r=arguments;if(2==r.length)for(n in e)void 0!==(o=e[n])&&e.hasOwnProperty(n)&&i(t,n,o);else i(t,r[1],r[2])}}();function l(t,e){return("string"==typeof t?t:p(t)).indexOf(" "+e+" ")>=0}function c(t,e){var n=p(t),i=n+e;l(n,e)||(t.className=i.substring(1))}function u(t,e){var n,i=p(t);l(t,e)&&(n=i.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function p(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function d(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return n})?i.call(e,n,e,t):i)||(t.exports=o)},function(t,e,n){var i=n(2),o=n(64).f,r=n(23),a=n(137),s=n(40),l=n(82),c=n(153);t.exports=function(t,e){var n,u,p,d,m,h=t.target,f=t.global,g=t.stat;if(n=f?i:g?i[h]||s(h,{}):(i[h]||{}).prototype)for(u in e){if(d=e[u],p=t.dontCallGetSet?(m=o(n,u))&&m.value:n[u],!c(f?u:h+(g?".":"#")+u,t.forced)&&void 0!==p){if(typeof d==typeof p)continue;l(d,p)}(t.sham||p&&p.sham)&&r(d,"sham",!0),a(n,u,d,t)}}},function(t,e,n){var i=n(35),o=Function.prototype.call;t.exports=i?o.bind(o):function(){return o.apply(o,arguments)}},function(t,e,n){var i=n(3);t.exports=!i((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(65),o=n(67);t.exports=function(t){return i(o(t))}},function(t,e,n){var i=n(2),o=n(77),r=n(8),a=n(79),s=n(74),l=n(73),c=o("wks"),u=i.Symbol,p=u&&u.for,d=l?u:u&&u.withoutSetter||a;t.exports=function(t){if(!r(c,t)||!s&&"string"!=typeof c[t]){var e="Symbol."+t;s&&r(u,t)?c[t]=u[t]:c[t]=l&&p?p(e):d(e)}return c[t]}},function(t,e,n){var i=n(2),o=n(40),r=i["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=r},function(t,e,n){var i=n(2),o=Object.defineProperty;t.exports=function(t,e){try{o(i,t,{value:e,configurable:!0,writable:!0})}catch(n){i[t]=e}return e}},function(t,e,n){var i=n(67),o=Object;t.exports=function(t){return o(i(t))}},function(t,e,n){var i=n(11),o=String,r=TypeError;t.exports=function(t){if(i(t))return t;throw r(o(t)+" is not an object")}},function(t,e,n){var i=n(150);t.exports=function(t){return i(t.length)}},function(t,e,n){var i=n(26),o=n(185),r=n(186),a=n(187),s=n(188),l=n(189);function c(t){var e=this.__data__=new i(t);this.size=e.size}c.prototype.clear=o,c.prototype.delete=r,c.prototype.get=a,c.prototype.has=s,c.prototype.set=l,t.exports=c},function(t,e,n){var i=n(12)(n(5),"Map");t.exports=i},function(t,e,n){var i=n(17),o=n(9);t.exports=function(t){if(!o(t))return!1;var e=i(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},function(t,e,n){var i=n(194),o=n(201),r=n(203),a=n(204),s=n(205);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}},function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},function(t,e,n){var i=n(4),o=n(57),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(i(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!o(t))||(a.test(t)||!r.test(t)||null!=e&&t in Object(e))}},function(t,e,n){var i=n(17),o=n(10);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==i(t)}},function(t,e){t.exports=function(t){return t}},function(t,e,n){var i=n(101);t.exports=function(t,e,n){"__proto__"==e&&i?i(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},function(t,e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2},e.isValid=function(t){return t&&void 0!==t.bit&&t.bit>=0&&t.bit<4},e.from=function(t,n){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return n}}},function(t,e,n){"use strict";var i=n(33),o=n(41),r=n(43),a=n(157),s=n(159),l=n(3)((function(){return 4294967297!==[].push.call({length:4294967296},1)})),c=!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}();i({target:"Array",proto:!0,arity:1,forced:l||c},{push:function(t){var e=o(this),n=r(e),i=arguments.length;s(n+i);for(var l=0;l79&&a<83},{reduce:function(t){var e=arguments.length;return o(this,t,e,e>1?arguments[1]:void 0)}})},function(t,e,n){var i=n(6),o=n(34),r=n(129),a=n(36),s=n(37),l=n(69),c=n(8),u=n(80),p=Object.getOwnPropertyDescriptor;e.f=i?p:function(t,e){if(t=s(t),e=l(e),u)try{return p(t,e)}catch(t){}if(c(t,e))return a(!o(r.f,t,e),t[e])}},function(t,e,n){var i=n(7),o=n(3),r=n(18),a=Object,s=i("".split);t.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"==r(t)?s(t,""):a(t)}:a},function(t,e,n){var i=n(35),o=Function.prototype,r=o.call,a=i&&o.bind.bind(r,r);t.exports=function(t){return i?a(t):function(){return r.apply(t,arguments)}}},function(t,e,n){var i=n(68),o=TypeError;t.exports=function(t){if(i(t))throw o("Can't call method on "+t);return t}},function(t,e){t.exports=function(t){return null==t}},function(t,e,n){var i=n(130),o=n(71);t.exports=function(t){var e=i(t,"string");return o(e)?e:e+""}},function(t,e){var n="object"==typeof document&&document.all,i=void 0===n&&void 0!==n;t.exports={all:n,IS_HTMLDDA:i}},function(t,e,n){var i=n(22),o=n(1),r=n(72),a=n(73),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=i("Symbol");return o(e)&&r(e.prototype,s(t))}},function(t,e,n){var i=n(7);t.exports=i({}.isPrototypeOf)},function(t,e,n){var i=n(74);t.exports=i&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,e,n){var i=n(75),o=n(3);t.exports=!!Object.getOwnPropertySymbols&&!o((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&i&&i<41}))},function(t,e,n){var i,o,r=n(2),a=n(131),s=r.process,l=r.Deno,c=s&&s.versions||l&&l.version,u=c&&c.v8;u&&(o=(i=u.split("."))[0]>0&&i[0]<4?1:+(i[0]+i[1])),!o&&a&&(!(i=a.match(/Edge\/(\d+)/))||i[1]>=74)&&(i=a.match(/Chrome\/(\d+)/))&&(o=+i[1]),t.exports=o},function(t,e,n){var i=n(1),o=n(133),r=TypeError;t.exports=function(t){if(i(t))return t;throw r(o(t)+" is not a function")}},function(t,e,n){var i=n(78),o=n(39);(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.25.5",mode:i?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE",source:"https://github.com/zloirock/core-js"})},function(t,e){t.exports=!1},function(t,e,n){var i=n(7),o=0,r=Math.random(),a=i(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++o+r,36)}},function(t,e,n){var i=n(6),o=n(3),r=n(135);t.exports=!i&&!o((function(){return 7!=Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a}))},function(t,e){t.exports={}},function(t,e,n){var i=n(8),o=n(144),r=n(64),a=n(24);t.exports=function(t,e,n){for(var s=o(e),l=a.f,c=r.f,u=0;uu))return!1;var d=l.get(t),m=l.get(e);if(d&&m)return d==e&&m==t;var h=-1,f=!0,g=2&n?new i:void 0;for(l.set(t,e),l.set(e,t);++h{const{networks:e,twitterUser:n,fallbackImage:i,autoQuote:s,isPlain:l,networksData:c,qrcodeOptions:u}=o.default;t.component("SocialShare",{functional:!0,props:{networks:{type:Array},tags:{type:Array},isPlain:{type:Boolean}},render:(t,{props:o,data:a,parent:p})=>p._isMounted?t(r.default,Object.assign(Object.assign({},a),{props:{networks:o.networks||e,tags:o.tags,twitterUser:n,fallbackImage:i,autoQuote:s,isPlain:o.isPlain||l,qrcodeOptions:u,networksData:c}})):(p.$once("hook:mounted",()=>{p.$forceUpdate()}),t())}),t.component("GlobalSocialShare",{functional:!0,render:(t,{parent:o})=>o._isMounted?t(a.default,{attrs:{networks:e,isPlain:l,twitterUser:n,fallbackImage:i,autoQuote:s,networksData:c}}):(o.$once("hook:mounted",()=>{o.$forceUpdate()}),t())})}},function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(e,n);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,o)}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},a=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,r){function a(t){try{l(i.next(t))}catch(t){r(t)}}function s(t){try{l(i.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}l((i=i.apply(t,e||[])).next())}))},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const l=n(109),c=s(n(286)),u={name:"SocialShare",props:{networks:{type:Array,default:()=>["twitter","facebook","reddit"]},tags:{type:Array,default:()=>[]},twitterUser:{type:String},fallbackImage:{type:String},autoQuote:{type:Boolean,default:!0},isPlain:{type:Boolean,default:!1},qrcodeOptions:{type:Object,default:()=>({})},networksData:{type:Object,default:()=>({})}},computed:{visible(){return!!this.networks.length&&!this.$frontmatter.noSocialShare},url(){return this.$frontmatter.$shareUrl||this.$frontmatter.shareUrl||(l.inBrowser?location.href:"")},title(){return this.$frontmatter.$shareTitle||this.$frontmatter.shareTitle||this.$frontmatter.title||(l.inBrowser?document.title:this.$title)},description(){return this.$frontmatter.$shareDescription||this.$frontmatter.shareDescription||this.$frontmatter.description||(0,l.getMetaContentByName)("description")||this.$description},media(){const t=this.$frontmatter.$shareImage||this.$frontmatter.shareImage||this.$frontmatter.image||this.fallbackImage;if(!t)return"";if((0,l.isExternalUrl)(t))return t;return l.inBrowser?`${location.origin}${this.$withBase(t)}`:""},quote(){return this.$frontmatter.$shareQuote||this.$frontmatter.shareQuote||(this.autoQuote?this.description:"")},hashtags(){const t=this.$frontmatter.$shareTags||this.$frontmatter.shareTags||this.$frontmatter.tags||this.$frontmatter.tag||this.tags||(0,l.getMetaContentByName)("keywords");return Array.isArray(t)?t.join(","):"string"==typeof t?t.replace(/\s/g,""):""},qrcodeRenderOptions(){return Object.assign({errorCorrectionLevel:"H",width:250,scale:1,margin:1.5},this.qrcodeOptions)}},data(){const t=[...new Set(this.networks)];return{userNetworks:Object.keys(this.networksData).map(t=>Object.assign({name:t},this.networksData[t])).filter(e=>t.includes(e.name)).sort((e,n)=>t.indexOf(e.name)-t.indexOf(n.name)),popup:{status:!1,resizable:!1,toolbar:!1,menubar:!1,scrollbars:!1,location:!1,directories:!1,width:626,height:436,top:0,left:0,interval:null}}},methods:{openSharer(t,e){var n;let i=null;const o=["status="+(this.popup.status?"yes":"no"),"height="+this.popup.height,"width="+this.popup.width,"resizable="+(this.popup.resizable?"yes":"no"),"left="+this.popup.left,"top="+this.popup.top,"screenX="+this.popup.left,"screenY="+this.popup.top,"toolbar="+(this.popup.toolbar?"yes":"no"),"menubar="+(this.popup.menubar?"yes":"no"),"scrollbars="+(this.popup.scrollbars?"yes":"no"),"location="+(this.popup.location?"yes":"no"),"directories="+(this.popup.directories?"yes":"no")];i=window.open(t,"sharer",o.join(",")),null===(n=null==i?void 0:i.focus)||void 0===n||n.call(i),this.popup.interval=window.setInterval(()=>{i&&i.closed&&(clearInterval(this.popup.interval),i=null,this.$root.$emit("social-share-close",e))},500)},showQRCode(){return a(this,void 0,void 0,(function*(){const t=document.body,e=document.querySelector("#__VUEPRESS_SOCIAL_SHARE__"),i=document.createElement("div");i.id="__VUEPRESS_SOCIAL_SHARE__",i.classList.add("social-share-overlay"),e&&e.parentNode&&e.parentNode.removeChild(e);try{const e=yield Promise.resolve().then(()=>r(n(287))),o=yield e.toDataURL(this.url,this.qrcodeRenderOptions);i.innerHTML=``,t.appendChild(i),i.classList.add("show"),i.addEventListener("click",e=>{i.classList.remove("show"),t.removeChild(i),e.stopPropagation()})}catch(t){console.log(t)}}))}},render(t){if(!this.visible)return null;return t("div",{attrs:{class:"social-share"}},[(e=>t("ul",{attrs:{class:"social-share-list",role:"listbox"}},e.map(e=>t(c.default,{props:{network:e,isPlain:this.isPlain}}))))(this.userNetworks),this.$slots.default])},mounted(){if(!l.inBrowser)return!1;const t=document.documentElement,e=void 0!==window.screenLeft?window.screenLeft:window.screenX,n=void 0!==window.screenTop?window.screenTop:window.screenY,i=window.innerWidth?window.innerWidth:t.clientWidth?t.clientWidth:screen.width,o=window.innerHeight?window.innerHeight:t.clientHeight?t.clientHeight:screen.height;this.popup.left=i/2-this.popup.width/2+e,this.popup.top=o/2-this.popup.height/2+n}};e.default=u},function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.createNetworksData=e.getMetaContentByName=e.inBrowser=e.isSVG=e.isExternalUrl=e.isEmail=void 0;const o=i(n(284)),r=n(285),a=n(110);e.isEmail=t=>a.RE_EMAIL.test(t);e.isExternalUrl=t=>a.RE_EXTERNAL_LINK.test(t);e.isSVG=t=>a.RE_SVG_SOURCE.test(t),e.inBrowser="undefined"!=typeof window,e.getMetaContentByName=function(t){if(!e.inBrowser)return"";const n=document.getElementsByName(t)[0];return n&&n.getAttribute("content")||""};e.createNetworksData=(t={})=>{const{email:n="",extendsNetworks:i={}}=t;return(0,e.isEmail)(n)?r.BASE_NETWORKS.email.sharer=r.BASE_NETWORKS.email.sharer.replace("@email",n):delete r.BASE_NETWORKS.email,(0,o.default)(r.BASE_NETWORKS,i)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SVG_ICON_SHARE=e.SVG_ICON_CLOSE=e.RE_EMAIL=e.RE_EXTERNAL_LINK=e.RE_SVG_SOURCE=void 0,e.RE_SVG_SOURCE=/(.*?)<\/svg>/i,e.RE_EXTERNAL_LINK=/^(https?:|mailto:|tel:|[a-zA-Z]{4,}:)/,e.RE_EMAIL=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/,e.SVG_ICON_CLOSE='\n \n\n',e.SVG_ICON_SHARE='\n \n'},function(t,e,n){const i=n(60),o=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(t,e){switch(e){case i.L:return o[4*(t-1)+0];case i.M:return o[4*(t-1)+1];case i.Q:return o[4*(t-1)+2];case i.H:return o[4*(t-1)+3];default:return}},e.getTotalCodewordsCount=function(t,e){switch(e){case i.L:return r[4*(t-1)+0];case i.M:return r[4*(t-1)+1];case i.Q:return r[4*(t-1)+2];case i.H:return r[4*(t-1)+3];default:return}}},function(t,e){e.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},function(t,e){let n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";n=n.replace(/u/g,"\\u");const i="(?:(?![A-Z0-9 $%*+\\-./:]|"+n+")(?:.|[\r\n]))+";e.KANJI=new RegExp(n,"g"),e.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),e.BYTE=new RegExp(i,"g"),e.NUMERIC=new RegExp("[0-9]+","g"),e.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const o=new RegExp("^"+n+"$"),r=new RegExp("^[0-9]+$"),a=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");e.testKanji=function(t){return o.test(t)},e.testNumeric=function(t){return r.test(t)},e.testAlphanumeric=function(t){return a.test(t)}},function(t,e){function n(t){if("number"==typeof t&&(t=t.toString()),"string"!=typeof t)throw new Error("Color should be defined as hex string");let e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map((function(t){return[t,t]})))),6===e.length&&e.push("F","F");const n=parseInt(e.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:255&n,hex:"#"+e.slice(0,6).join("")}}e.getOptions=function(t){t||(t={}),t.color||(t.color={});const e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,i=t.width&&t.width>=21?t.width:void 0,o=t.scale||4;return{width:i,scale:i?4:o,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},e.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},e.getImageWidth=function(t,n){const i=e.getScale(t,n);return Math.floor((t+2*n.margin)*i)},e.qrToImageData=function(t,n,i){const o=n.modules.size,r=n.modules.data,a=e.getScale(o,i),s=Math.floor((o+2*i.margin)*a),l=i.margin*a,c=[i.color.light,i.color.dark];for(let e=0;e=l&&n>=l&&e]/;t.exports=function(t){var e,n=""+t,o=i.exec(n);if(!o)return n;var r="",a=0,s=0;for(a=o.index;a=e||n<0||g&&t-c>=r}function _(){var t=m();if(b(t))return k(t);s=setTimeout(_,function(t){var n=e-(t-l);return g?d(n,r-(t-c)):n}(t))}function k(t){return s=void 0,v&&i?y(t):(i=o=void 0,a)}function x(){var t=m(),n=b(t);if(i=arguments,o=this,l=t,n){if(void 0===s)return w(l);if(g)return s=setTimeout(_,e),y(l)}return void 0===s&&(s=setTimeout(_,e)),a}return e=f(e)||0,h(n)&&(u=!!n.leading,r=(g="maxWait"in n)?p(f(n.maxWait)||0,e):r,v="trailing"in n?!!n.trailing:v),x.cancel=function(){void 0!==s&&clearTimeout(s),c=0,i=l=o=s=void 0},x.flush=function(){return void 0===s?a:k(m())},x}},function(t,e,n){!function(){"use strict";t.exports={polyfill:function(){var t=window,e=document;if(!("scrollBehavior"in e.documentElement.style)||!0===t.__forceSmoothScrollPolyfill__){var n,i=t.HTMLElement||t.Element,o={scroll:t.scroll||t.scrollTo,scrollBy:t.scrollBy,elementScroll:i.prototype.scroll||s,scrollIntoView:i.prototype.scrollIntoView},r=t.performance&&t.performance.now?t.performance.now.bind(t.performance):Date.now,a=(n=t.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(n)?1:0);t.scroll=t.scrollTo=function(){void 0!==arguments[0]&&(!0!==l(arguments[0])?h.call(t,e.body,void 0!==arguments[0].left?~~arguments[0].left:t.scrollX||t.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:t.scrollY||t.pageYOffset):o.scroll.call(t,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:t.scrollX||t.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:t.scrollY||t.pageYOffset))},t.scrollBy=function(){void 0!==arguments[0]&&(l(arguments[0])?o.scrollBy.call(t,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):h.call(t,e.body,~~arguments[0].left+(t.scrollX||t.pageXOffset),~~arguments[0].top+(t.scrollY||t.pageYOffset)))},i.prototype.scroll=i.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==l(arguments[0])){var t=arguments[0].left,e=arguments[0].top;h.call(this,this,void 0===t?this.scrollLeft:~~t,void 0===e?this.scrollTop:~~e)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},i.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==l(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},i.prototype.scrollIntoView=function(){if(!0!==l(arguments[0])){var n=d(this),i=n.getBoundingClientRect(),r=this.getBoundingClientRect();n!==e.body?(h.call(this,n,n.scrollLeft+r.left-i.left,n.scrollTop+r.top-i.top),"fixed"!==t.getComputedStyle(n).position&&t.scrollBy({left:i.left,top:i.top,behavior:"smooth"})):t.scrollBy({left:r.left,top:r.top,behavior:"smooth"})}else o.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function s(t,e){this.scrollLeft=t,this.scrollTop=e}function l(t){if(null===t||"object"!=typeof t||void 0===t.behavior||"auto"===t.behavior||"instant"===t.behavior)return!0;if("object"==typeof t&&"smooth"===t.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+t.behavior+" is not a valid value for enumeration ScrollBehavior.")}function c(t,e){return"Y"===e?t.clientHeight+a1?1:s,n=.5*(1-Math.cos(Math.PI*a)),i=e.startX+(e.x-e.startX)*n,o=e.startY+(e.y-e.startY)*n,e.method.call(e.scrollable,i,o),i===e.x&&o===e.y||t.requestAnimationFrame(m.bind(t,e))}function h(n,i,a){var l,c,u,p,d=r();n===e.body?(l=t,c=t.scrollX||t.pageXOffset,u=t.scrollY||t.pageYOffset,p=o.scroll):(l=n,c=n.scrollLeft,u=n.scrollTop,p=s),m({scrollable:l,method:p,startTime:d,startX:c,startY:u,x:i,y:a})}}}}()},function(t,e,n){n(62),t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.__esModule=!0,t.exports.default=t.exports},function(t,e){function n(t,e){for(var n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},function(t,e,n){var i=n(98);t.exports=function(t,e,n){var o=null==t?void 0:i(t,e);return void 0===o?n:o}},function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},function(t,e,n){t.exports=n(312)},function(t,e,n){"use strict";var i={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,r=o&&!i.call({1:2},1);e.f=r?function(t){var e=o(this,t);return!!e&&e.enumerable}:i},function(t,e,n){var i=n(34),o=n(11),r=n(71),a=n(132),s=n(134),l=n(38),c=TypeError,u=l("toPrimitive");t.exports=function(t,e){if(!o(t)||r(t))return t;var n,l=a(t,u);if(l){if(void 0===e&&(e="default"),n=i(l,t,e),!o(n)||r(n))return n;throw c("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},function(t,e,n){var i=n(22);t.exports=i("navigator","userAgent")||""},function(t,e,n){var i=n(76),o=n(68);t.exports=function(t,e){var n=t[e];return o(n)?void 0:i(n)}},function(t,e){var n=String;t.exports=function(t){try{return n(t)}catch(t){return"Object"}}},function(t,e,n){var i=n(34),o=n(1),r=n(11),a=TypeError;t.exports=function(t,e){var n,s;if("string"===e&&o(n=t.toString)&&!r(s=i(n,t)))return s;if(o(n=t.valueOf)&&!r(s=i(n,t)))return s;if("string"!==e&&o(n=t.toString)&&!r(s=i(n,t)))return s;throw a("Can't convert object to primitive value")}},function(t,e,n){var i=n(2),o=n(11),r=i.document,a=o(r)&&o(r.createElement);t.exports=function(t){return a?r.createElement(t):{}}},function(t,e,n){var i=n(6),o=n(3);t.exports=i&&o((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},function(t,e,n){var i=n(1),o=n(24),r=n(138),a=n(40);t.exports=function(t,e,n,s){s||(s={});var l=s.enumerable,c=void 0!==s.name?s.name:e;if(i(n)&&r(n,c,s),s.global)l?t[e]=n:a(e,n);else{try{s.unsafe?t[e]&&(l=!0):delete t[e]}catch(t){}l?t[e]=n:o.f(t,e,{value:n,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return t}},function(t,e,n){var i=n(3),o=n(1),r=n(8),a=n(6),s=n(139).CONFIGURABLE,l=n(140),c=n(141),u=c.enforce,p=c.get,d=Object.defineProperty,m=a&&!i((function(){return 8!==d((function(){}),"length",{value:8}).length})),h=String(String).split("String"),f=t.exports=function(t,e,n){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!r(t,"name")||s&&t.name!==e)&&(a?d(t,"name",{value:e,configurable:!0}):t.name=e),m&&n&&r(n,"arity")&&t.length!==n.arity&&d(t,"length",{value:n.arity});try{n&&r(n,"constructor")&&n.constructor?a&&d(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var i=u(t);return r(i,"source")||(i.source=h.join("string"==typeof e?e:"")),t};Function.prototype.toString=f((function(){return o(this)&&p(this).source||l(this)}),"toString")},function(t,e,n){var i=n(6),o=n(8),r=Function.prototype,a=i&&Object.getOwnPropertyDescriptor,s=o(r,"name"),l=s&&"something"===function(){}.name,c=s&&(!i||i&&a(r,"name").configurable);t.exports={EXISTS:s,PROPER:l,CONFIGURABLE:c}},function(t,e,n){var i=n(7),o=n(1),r=n(39),a=i(Function.toString);o(r.inspectSource)||(r.inspectSource=function(t){return a(t)}),t.exports=r.inspectSource},function(t,e,n){var i,o,r,a=n(142),s=n(2),l=n(11),c=n(23),u=n(8),p=n(39),d=n(143),m=n(81),h=s.TypeError,f=s.WeakMap;if(a||p.state){var g=p.state||(p.state=new f);g.get=g.get,g.has=g.has,g.set=g.set,i=function(t,e){if(g.has(t))throw h("Object already initialized");return e.facade=t,g.set(t,e),e},o=function(t){return g.get(t)||{}},r=function(t){return g.has(t)}}else{var v=d("state");m[v]=!0,i=function(t,e){if(u(t,v))throw h("Object already initialized");return e.facade=t,c(t,v,e),e},o=function(t){return u(t,v)?t[v]:{}},r=function(t){return u(t,v)}}t.exports={set:i,get:o,has:r,enforce:function(t){return r(t)?o(t):i(t,{})},getterFor:function(t){return function(e){var n;if(!l(e)||(n=o(e)).type!==t)throw h("Incompatible receiver, "+t+" required");return n}}}},function(t,e,n){var i=n(2),o=n(1),r=i.WeakMap;t.exports=o(r)&&/native code/.test(String(r))},function(t,e,n){var i=n(77),o=n(79),r=i("keys");t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var i=n(22),o=n(7),r=n(145),a=n(152),s=n(42),l=o([].concat);t.exports=i("Reflect","ownKeys")||function(t){var e=r.f(s(t)),n=a.f;return n?l(e,n(t)):e}},function(t,e,n){var i=n(146),o=n(151).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,o)}},function(t,e,n){var i=n(7),o=n(8),r=n(37),a=n(147).indexOf,s=n(81),l=i([].push);t.exports=function(t,e){var n,i=r(t),c=0,u=[];for(n in i)!o(s,n)&&o(i,n)&&l(u,n);for(;e.length>c;)o(i,n=e[c++])&&(~a(u,n)||l(u,n));return u}},function(t,e,n){var i=n(37),o=n(148),r=n(43),a=function(t){return function(e,n,a){var s,l=i(e),c=r(l),u=o(a,c);if(t&&n!=n){for(;c>u;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((t||u in l)&&l[u]===n)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,e,n){var i=n(83),o=Math.max,r=Math.min;t.exports=function(t,e){var n=i(t);return n<0?o(n+e,0):r(n,e)}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=Math.trunc||function(t){var e=+t;return(e>0?i:n)(e)}},function(t,e,n){var i=n(83),o=Math.min;t.exports=function(t){return t>0?o(i(t),9007199254740991):0}},function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(3),o=n(1),r=/#|\.prototype\./,a=function(t,e){var n=l[s(t)];return n==u||n!=c&&(o(e)?i(e):!!e)},s=a.normalize=function(t){return String(t).replace(r,".").toLowerCase()},l=a.data={},c=a.NATIVE="N",u=a.POLYFILL="P";t.exports=a},function(t,e,n){var i=n(76),o=n(41),r=n(65),a=n(43),s=TypeError,l=function(t){return function(e,n,l,c){i(n);var u=o(e),p=r(u),d=a(u),m=t?d-1:0,h=t?-1:1;if(l<2)for(;;){if(m in p){c=p[m],m+=h;break}if(m+=h,t?m<0:d<=m)throw s("Reduce of empty array with no initial value")}for(;t?m>=0:d>m;m+=h)m in p&&(c=n(c,p[m],m,u));return c}};t.exports={left:l(!1),right:l(!0)}},function(t,e,n){"use strict";var i=n(3);t.exports=function(t,e){var n=[][t];return!!n&&i((function(){n.call(null,e||function(){return 1},1)}))}},function(t,e,n){var i=n(18),o=n(2);t.exports="process"==i(o.process)},function(t,e,n){"use strict";var i=n(6),o=n(158),r=TypeError,a=Object.getOwnPropertyDescriptor,s=i&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=s?function(t,e){if(o(t)&&!a(t,"length").writable)throw r("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},function(t,e,n){var i=n(18);t.exports=Array.isArray||function(t){return"Array"==i(t)}},function(t,e){var n=TypeError;t.exports=function(t){if(t>9007199254740991)throw n("Maximum allowed index exceeded");return t}},function(t,e,n){var i=n(35),o=Function.prototype,r=o.apply,a=o.call;t.exports="object"==typeof Reflect&&Reflect.apply||(i?a.bind(r):function(){return a.apply(r,arguments)})},function(t,e,n){"use strict";var i=n(22),o=n(8),r=n(23),a=n(72),s=n(84),l=n(82),c=n(163),u=n(164),p=n(165),d=n(169),m=n(170),h=n(171),f=n(6),g=n(78);t.exports=function(t,e,n,v){var y=v?2:1,w=t.split("."),b=w[w.length-1],_=i.apply(null,w);if(_){var k=_.prototype;if(!g&&o(k,"cause")&&delete k.cause,!n)return _;var x=i("Error"),C=e((function(t,e){var n=p(v?e:t,void 0),i=v?new _(t):new _;return void 0!==n&&r(i,"message",n),h&&r(i,"stack",m(i.stack,2)),this&&a(k,this)&&u(i,this,C),arguments.length>y&&d(i,arguments[y]),i}));if(C.prototype=k,"Error"!==b?s?s(C,x):l(C,x,{name:!0}):f&&"stackTraceLimit"in _&&(c(C,_,"stackTraceLimit"),c(C,_,"prepareStackTrace")),l(C,_),!g)try{k.name!==b&&r(k,"name",b),k.constructor=C}catch(t){}return C}}},function(t,e,n){var i=n(1),o=String,r=TypeError;t.exports=function(t){if("object"==typeof t||i(t))return t;throw r("Can't set "+o(t)+" as a prototype")}},function(t,e,n){var i=n(24).f;t.exports=function(t,e,n){n in t||i(t,n,{configurable:!0,get:function(){return e[n]},set:function(t){e[n]=t}})}},function(t,e,n){var i=n(1),o=n(11),r=n(84);t.exports=function(t,e,n){var a,s;return r&&i(a=e.constructor)&&a!==n&&o(s=a.prototype)&&s!==n.prototype&&r(t,s),t}},function(t,e,n){var i=n(166);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:i(t)}},function(t,e,n){var i=n(167),o=String;t.exports=function(t){if("Symbol"===i(t))throw TypeError("Cannot convert a Symbol value to a string");return o(t)}},function(t,e,n){var i=n(168),o=n(1),r=n(18),a=n(38)("toStringTag"),s=Object,l="Arguments"==r(function(){return arguments}());t.exports=i?r:function(t){var e,n,i;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=s(t),a))?n:l?r(e):"Object"==(i=r(e))&&o(e.callee)?"Arguments":i}},function(t,e,n){var i={};i[n(38)("toStringTag")]="z",t.exports="[object z]"===String(i)},function(t,e,n){var i=n(11),o=n(23);t.exports=function(t,e){i(e)&&"cause"in e&&o(t,"cause",e.cause)}},function(t,e,n){var i=n(7),o=Error,r=i("".replace),a=String(o("zxcasd").stack),s=/\n\s*at [^:]*:[^\n]*/,l=s.test(a);t.exports=function(t,e){if(l&&"string"==typeof t&&!o.prepareStackTrace)for(;e--;)t=r(t,s,"");return t}},function(t,e,n){var i=n(3),o=n(36);t.exports=!i((function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",o(1,7)),7!==t.stack)}))},function(t,e,n){var i=n(85),o=n(173);t.exports=function t(e,n,r,a,s){var l=-1,c=e.length;for(r||(r=o),s||(s=[]);++l0&&r(u)?n>1?t(u,n-1,r,a,s):i(s,u):a||(s[s.length]=u)}return s}},function(t,e,n){var i=n(19),o=n(25),r=n(4),a=i?i.isConcatSpreadable:void 0;t.exports=function(t){return r(t)||o(t)||!!(a&&t&&t[a])}},function(t,e,n){var i=n(17),o=n(10);t.exports=function(t){return o(t)&&"[object Arguments]"==i(t)}},function(t,e,n){var i=n(19),o=Object.prototype,r=o.hasOwnProperty,a=o.toString,s=i?i.toStringTag:void 0;t.exports=function(t){var e=r.call(t,s),n=t[s];try{t[s]=void 0;var i=!0}catch(t){}var o=a.call(t);return i&&(e?t[s]=n:delete t[s]),o}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var i=n(178),o=n(230),r=n(58),a=n(4),s=n(240);t.exports=function(t){return"function"==typeof t?t:null==t?r:"object"==typeof t?a(t)?o(t[0],t[1]):i(t):s(t)}},function(t,e,n){var i=n(179),o=n(229),r=n(97);t.exports=function(t){var e=o(t);return 1==e.length&&e[0][2]?r(e[0][0],e[0][1]):function(n){return n===t||i(n,t,e)}}},function(t,e,n){var i=n(44),o=n(48);t.exports=function(t,e,n,r){var a=n.length,s=a,l=!r;if(null==t)return!s;for(t=Object(t);a--;){var c=n[a];if(l&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++a-1}},function(t,e,n){var i=n(27);t.exports=function(t,e){var n=this.__data__,o=i(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},function(t,e,n){var i=n(26);t.exports=function(){this.__data__=new i,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var i=n(26),o=n(45),r=n(47);t.exports=function(t,e){var n=this.__data__;if(n instanceof i){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new r(a)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var i=n(46),o=n(191),r=n(9),a=n(87),s=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,p=c.hasOwnProperty,d=RegExp("^"+u.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!r(t)||o(t))&&(i(t)?d:s).test(a(t))}},function(t,e,n){var i,o=n(192),r=(i=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"";t.exports=function(t){return!!r&&r in t}},function(t,e,n){var i=n(5)["__core-js_shared__"];t.exports=i},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e,n){var i=n(195),o=n(26),r=n(45);t.exports=function(){this.size=0,this.__data__={hash:new i,map:new(r||o),string:new i}}},function(t,e,n){var i=n(196),o=n(197),r=n(198),a=n(199),s=n(200);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var i=n(89),o=n(250),r=n(255),a=n(90),s=n(256),l=n(49);t.exports=function(t,e,n){var c=-1,u=o,p=t.length,d=!0,m=[],h=m;if(n)d=!1,u=r;else if(p>=200){var f=e?null:s(t);if(f)return l(f);d=!1,u=a,h=new i}else h=e?[]:m;t:for(;++c-1}},function(t,e,n){var i=n(252),o=n(253),r=n(254);t.exports=function(t,e,n){return e==e?r(t,e,n):i(t,o,n)}},function(t,e){t.exports=function(t,e,n,i){for(var o=t.length,r=n+(i?1:-1);i?r--:++r1?n[r-1]:void 0,s=r>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(r--,a):void 0,s&&o(n[0],n[1],s)&&(a=r<3?void 0:a,r=1),e=Object(e);++i=e?t:""+Array(e+1-i.length).join(n)+t},v={s:g,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),i=Math.floor(n/60),o=n%60;return(e<=0?"+":"-")+g(i,2,"0")+":"+g(o,2,"0")},m:function t(e,n){if(e.date()1)return t(a[0])}else{var s=e.name;w[s]=e,o=s}return!i&&o&&(y=o),o||!i&&y},k=function(t,e){if(b(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new C(n)},x=v;x.l=_,x.i=b,x.w=function(t,e){return k(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var C=function(){function f(t){this.$L=_(t.locale,null,!0),this.parse(t)}var g=f.prototype;return g.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(x.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(m);if(i){var o=i[2]-1||0,r=(i[7]||"0").substring(0,3);return n?new Date(Date.UTC(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,r)):new Date(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,r)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},g.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},g.$utils=function(){return x},g.isValid=function(){return!(this.$d.toString()===d)},g.isSame=function(t,e){var n=k(t);return this.startOf(e)<=n&&n<=this.endOf(e)},g.isAfter=function(t,e){return k(t)0)return function(t){if((t=String(t)).length>100)return;var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(!e)return;var a=parseFloat(e[1]);switch((e[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"days":case"day":case"d":return a*r;case"hours":case"hour":case"hrs":case"hr":case"h":return a*o;case"minutes":case"minute":case"mins":case"min":case"m":return a*i;case"seconds":case"second":case"secs":case"sec":case"s":return a*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}(t);if("number"===l&&!1===isNaN(t))return e.long?a(s=t,r,"day")||a(s,o,"hour")||a(s,i,"minute")||a(s,n,"second")||s+" ms":function(t){if(t>=r)return Math.round(t/r)+"d";if(t>=o)return Math.round(t/o)+"h";if(t>=i)return Math.round(t/i)+"m";if(t>=n)return Math.round(t/n)+"s";return t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},function(t,e,n){},function(t,e,n){"use strict";n.r(e),e.default={noGlobalSocialShare:!0,isPlain:!0,twitterUser:"visnalize",networks:["twitter","facebook","reddit","telegram"],networksData:{facebook:{sharer:"https://www.facebook.com/sharer/sharer.php?u=@url&title=@title&description=@description"e=@quote&hashtag=@hashtags",type:"popup",color:"#3b5998",icon:''},line:{sharer:"https://line.me/R/msg/text/?@description%0D%0A@url",type:"popup",color:"#00b902",icon:''},reddit:{sharer:"https://www.reddit.com/submit?url=@url&title=@title",type:"popup",color:"#ff4501",icon:''},skype:{sharer:"https://web.skype.com/share?url=@description%0D%0A@url",type:"popup",color:"#00aff0",icon:''},telegram:{sharer:"https://t.me/share/url?url=@url&text=@description",type:"popup",color:"#2fa8dc",icon:''},twitter:{sharer:"https://twitter.com/intent/tweet?text=@title&url=@url&hashtags=@hashtags@twitteruser",type:"popup",color:"#1da1f2",icon:''},weibo:{sharer:"http://service.weibo.com/share/share.php?url=@url&title=@title&pic=@media",type:"popup",color:"#e6172d",icon:''},qq:{sharer:'https://connect.qq.com/widget/shareqq/index.html?url=@url&title=@title&source=@title&desc=@description&pics=@media&summary="@description"',type:"popup",color:"#e9201f",icon:''},douban:{sharer:"https://shuo.douban.com/!service/share?href=@url&name=@title&text=@description&image=@media&starid=0&aid=0&style=11",type:"popup",color:"#00b51d",icon:''},whatsapp:{sharer:"https://api.whatsapp.com/send?text=@description%0D%0A@url",type:"popup",color:"#1bb1a5",action:"share/whatsapp/share",icon:''},wechat:{type:"qrcode",color:"#1aad19",icon:''}}}},function(t,e,n){"use strict";var i=function(t){return function(t){return!!t&&"object"==typeof t}(t)&&!function(t){var e=Object.prototype.toString.call(t);return"[object RegExp]"===e||"[object Date]"===e||function(t){return t.$$typeof===o}(t)}(t)};var o="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(t,e){var n;return e&&!0===e.clone&&i(t)?s((n=t,Array.isArray(n)?[]:{}),t,e):t}function a(t,e,n){var o=t.slice();return e.forEach((function(e,a){void 0===o[a]?o[a]=r(e,n):i(e)?o[a]=s(t[a],e,n):-1===t.indexOf(e)&&o.push(r(e,n))})),o}function s(t,e,n){var o=Array.isArray(e);return o===Array.isArray(t)?o?((n||{arrayMerge:a}).arrayMerge||a)(t,e,n):function(t,e,n){var o={};return i(t)&&Object.keys(t).forEach((function(e){o[e]=r(t[e],n)})),Object.keys(e).forEach((function(a){i(e[a])&&t[a]?o[a]=s(t[a],e[a],n):o[a]=r(e[a],n)})),o}(t,e,n):r(e,n)}s.all=function(t,e){if(!Array.isArray(t)||t.length<2)throw new Error("first argument should be an array with at least two elements");return t.reduce((function(t,n){return s(t,n,e)}))};var l=s;t.exports=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BASE_NETWORKS=void 0,e.BASE_NETWORKS={facebook:{sharer:"https://www.facebook.com/sharer/sharer.php?u=@url&title=@title&description=@description"e=@quote&hashtag=@hashtags",type:"popup",color:"#3b5998",icon:''},line:{sharer:"https://line.me/R/msg/text/?@description%0D%0A@url",type:"popup",color:"#00b902",icon:''},reddit:{sharer:"https://www.reddit.com/submit?url=@url&title=@title",type:"popup",color:"#ff4501",icon:''},skype:{sharer:"https://web.skype.com/share?url=@description%0D%0A@url",type:"popup",color:"#00aff0",icon:''},telegram:{sharer:"https://t.me/share/url?url=@url&text=@description",type:"popup",color:"#2fa8dc",icon:''},twitter:{sharer:"https://twitter.com/intent/tweet?text=@title&url=@url&hashtags=@hashtags@twitteruser",type:"popup",color:"#1da1f2",icon:''},weibo:{sharer:"http://service.weibo.com/share/share.php?url=@url&title=@title&pic=@media",type:"popup",color:"#e6172d",icon:''},qq:{sharer:'https://connect.qq.com/widget/shareqq/index.html?url=@url&title=@title&source=@title&desc=@description&pics=@media&summary="@description"',type:"popup",color:"#e9201f",icon:''},douban:{sharer:"https://shuo.douban.com/!service/share?href=@url&name=@title&text=@description&image=@media&starid=0&aid=0&style=11",type:"popup",color:"#00b51d",icon:''},whatsapp:{sharer:"https://api.whatsapp.com/send?text=@description%0D%0A@url",type:"popup",color:"#1bb1a5",action:"share/whatsapp/share",icon:''},wechat:{type:"qrcode",color:"#1aad19",icon:''},email:{sharer:"mailto:@email?subject=@title&body=@url%0D%0A%0D%0A@description",type:"direct",color:"#d4237a",icon:''}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const i=n(109),o={name:"SocialShareNetwork",inheritAttrs:!1,props:{network:{type:Object,validator:t=>!!t.icon&&(!["popup"].includes(t.type)||Boolean(t.sharer)),required:!0},isPlain:{type:Boolean,default:!1}},computed:{isSvgIcon(){return(0,i.isSVG)(this.network.icon)},shareUrl(){let{sharer:t=""}=this.network;const{url:e,title:n,quote:i,media:o,hashtags:r,description:a,twitterUser:s}=this.$parent;return["twitter"].includes(this.network.name)&&!r.length&&(t=t.replace("&hashtags=@hashtags","")),t.replace(/@url/g,encodeURIComponent(e)).replace(/@title/g,encodeURIComponent(n)).replace(/@media/g,o).replace(/@description/g,encodeURIComponent(a)).replace(/@quote/g,encodeURIComponent(i)).replace(/@hashtags/g,this.generateHashTags(r)).replace(/@twitteruser/g,s?"&via="+s:"")}},methods:{generateHashTags(t=""){const{name:e}=this.network;return["facebook"].includes(e)&&t.length?"%23"+t.split(",")[0]:t},share(){var t,e;const{name:n,type:i}=this.network,o=this.$parent;switch(i){case"popup":null===(t=o.openSharer)||void 0===t||t.call(o,this.shareUrl,{name:n,url:o.url});break;case"qrcode":null===(e=o.showQRCode)||void 0===e||e.call(o);break;case"direct":window.open(this.shareUrl,"_self")}this.$root.$emit("social-share-open",{name:n,url:o.url})}},render(t){const e=e=>this.isSvgIcon?t("span",{style:{color:!this.isPlain&&e.color},attrs:{class:"social-share-icon-svg",focusable:"false"},domProps:{innerHTML:this.network.icon}}):t("span",{style:{backgroundImage:`url(${e.icon})`},attrs:{class:"social-share-icon-img"}});return t("li",{attrs:{class:"social-share-network",role:"option"}},[(n=>t("button",{attrs:{"data-link":"popup"===n.type?"#share-"+n.name:this.shareUrl,class:"social-share-btn",title:n.name,type:"button",role:"button"},on:{click:this.share}},[e(n)]))(this.network)])}};e.default=o},function(t,e,n){const i=n(288),o=n(289),r=n(307),a=n(308);function s(t,e,n,r,a){const s=[].slice.call(arguments,1),l=s.length,c="function"==typeof s[l-1];if(!c&&!i())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(n=e,e=r=void 0):2!==l||e.getContext||(r=n,n=e,e=void 0),new Promise((function(i,a){try{const a=o.create(n,r);i(t(a,e,r))}catch(t){a(t)}}))}if(l<2)throw new Error("Too few arguments provided");2===l?(a=n,n=e,e=r=void 0):3===l&&(e.getContext&&void 0===a?(a=r,r=void 0):(a=r,r=n,n=e,e=void 0));try{const i=o.create(n,r);a(null,t(i,e,r))}catch(t){a(t)}}e.create=o.create,e.toCanvas=s.bind(null,r.render),e.toDataURL=s.bind(null,r.renderToDataURL),e.toString=s.bind(null,(function(t,e,n){return a.render(t,n)}))},function(t,e){t.exports=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},function(t,e,n){const i=n(13),o=n(60),r=n(290),a=n(291),s=n(292),l=n(293),c=n(294),u=n(111),p=n(295),d=n(298),m=n(299),h=n(14),f=n(300);function g(t,e,n){const i=t.size,o=m.getEncodedBits(e,n);let r,a;for(r=0;r<15;r++)a=1==(o>>r&1),r<6?t.set(r,8,a,!0):r<8?t.set(r+1,8,a,!0):t.set(i-15+r,8,a,!0),r<8?t.set(8,i-r-1,a,!0):r<9?t.set(8,15-r-1+1,a,!0):t.set(8,15-r-1,a,!0);t.set(i-8,8,1,!0)}function v(t,e,n){const o=new r;n.forEach((function(e){o.put(e.mode.bit,4),o.put(e.getLength(),h.getCharCountIndicator(e.mode,t)),e.write(o)}));const a=8*(i.getSymbolTotalCodewords(t)-u.getTotalCodewordsCount(t,e));for(o.getLengthInBits()+4<=a&&o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(0);const s=(a-o.getLengthInBits())/8;for(let t=0;t=0&&e<=6&&(0===i||6===i)||i>=0&&i<=6&&(0===e||6===e)||e>=2&&e<=4&&i>=2&&i<=4?t.set(o+e,r+i,!0,!0):t.set(o+e,r+i,!1,!0))}}(h,e),function(t){const e=t.size;for(let n=8;n=7&&function(t,e){const n=t.size,i=d.getEncodedBits(e);let o,r,a;for(let e=0;e<18;e++)o=Math.floor(e/3),r=e%3+n-8-3,a=1==(i>>e&1),t.set(o,r,a,!0),t.set(r,o,a,!0)}(h,e),function(t,e){const n=t.size;let i=-1,o=n-1,r=7,a=0;for(let s=n-1;s>0;s-=2)for(6===s&&s--;;){for(let n=0;n<2;n++)if(!t.isReserved(o,s-n)){let i=!1;a>>r&1)),t.set(o,s-n,i),r--,-1===r&&(a++,r=7)}if(o+=i,o<0||n<=o){o-=i,i=-i;break}}}(h,p),isNaN(o)&&(o=c.getBestMask(h,g.bind(null,h,n))),c.applyMask(o,h),g(h,n,o),{modules:h,version:e,errorCorrectionLevel:n,maskPattern:o,segments:r}}e.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");let n,r,a=o.M;return void 0!==e&&(a=o.from(e.errorCorrectionLevel,o.M),n=d.from(e.version),r=c.from(e.maskPattern),e.toSJISFunc&&i.setToSJISFunction(e.toSJISFunc)),y(t,n,a,r)}},function(t,e){function n(){this.buffer=[],this.length=0}n.prototype={get:function(t){const e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(let n=0;n>>e-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){const e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},t.exports=n},function(t,e){function n(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}n.prototype.set=function(t,e,n,i){const o=t*this.size+e;this.data[o]=n,i&&(this.reservedBit[o]=!0)},n.prototype.get=function(t,e){return this.data[t*this.size+e]},n.prototype.xor=function(t,e,n){this.data[t*this.size+e]^=n},n.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},t.exports=n},function(t,e,n){const i=n(13).getSymbolSize;e.getRowColCoords=function(t){if(1===t)return[];const e=Math.floor(t/7)+2,n=i(t),o=145===n?26:2*Math.ceil((n-13)/(2*e-2)),r=[n-7];for(let t=1;t=0&&t<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(t){const e=t.size;let i=0,o=0,r=0,a=null,s=null;for(let l=0;l=5&&(i+=n+(o-5)),a=e,o=1),e=t.get(c,l),e===s?r++:(r>=5&&(i+=n+(r-5)),s=e,r=1)}o>=5&&(i+=n+(o-5)),r>=5&&(i+=n+(r-5))}return i},e.getPenaltyN2=function(t){const e=t.size;let n=0;for(let i=0;i=10&&(1488===i||93===i)&&n++,r=r<<1&2047|t.get(a,o),a>=10&&(1488===r||93===r)&&n++}return n*o},e.getPenaltyN4=function(t){let e=0;const n=t.data.length;for(let i=0;i0){const t=new Uint8Array(this.degree);return t.set(n,o),t}return n},t.exports=o},function(t,e,n){const i=n(297);e.mul=function(t,e){const n=new Uint8Array(t.length+e.length-1);for(let o=0;o=0;){const t=n[0];for(let o=0;o1)return function(t,n){for(let i=1;i<=40;i++){if(u(t,i)<=e.getCapacity(i,n,a.MIXED))return i}}(t,o);if(0===t.length)return 1;i=t[0]}else i=t;return function(t,n,i){for(let o=1;o<=40;o++)if(n<=e.getCapacity(o,i,t))return o}(i.mode,i.getLength(),o)},e.getEncodedBits=function(t){if(!s.isValid(t)||t<7)throw new Error("Invalid QR Code version");let e=t<<12;for(;i.getBCHDigit(e)-l>=0;)e^=7973<=0;)r^=1335<=0?t[t.length-1]:null;return n&&n.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)}),[])}(a))},e.rawSplit=function(t){return e.fromArray(m(t,c.isKanjiModeEnabled()))}},function(t,e,n){const i=n(14);function o(t){this.mode=i.NUMERIC,this.data=t.toString()}o.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},o.prototype.getLength=function(){return this.data.length},o.prototype.getBitsLength=function(){return o.getBitsLength(this.data.length)},o.prototype.write=function(t){let e,n,i;for(e=0;e+3<=this.data.length;e+=3)n=this.data.substr(e,3),i=parseInt(n,10),t.put(i,10);const o=this.data.length-e;o>0&&(n=this.data.substr(e),i=parseInt(n,10),t.put(i,3*o+1))},t.exports=o},function(t,e,n){const i=n(14),o=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function r(t){this.mode=i.ALPHANUMERIC,this.data=t}r.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){let e;for(e=0;e+2<=this.data.length;e+=2){let n=45*o.indexOf(this.data[e]);n+=o.indexOf(this.data[e+1]),t.put(n,11)}this.data.length%2&&t.put(o.indexOf(this.data[e]),6)},t.exports=r},function(t,e,n){const i=n(304),o=n(14);function r(t){this.mode=o.BYTE,"string"==typeof t&&(t=i(t)),this.data=new Uint8Array(t)}r.getBitsLength=function(t){return 8*t},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){for(let e=0,n=this.data.length;e=55296&&o<=56319&&n>i+1){var r=t.charCodeAt(i+1);r>=56320&&r<=57343&&(o=1024*(o-55296)+r-56320+65536,i+=1)}o<128?e.push(o):o<2048?(e.push(o>>6|192),e.push(63&o|128)):o<55296||o>=57344&&o<65536?(e.push(o>>12|224),e.push(o>>6&63|128),e.push(63&o|128)):o>=65536&&o<=1114111?(e.push(o>>18|240),e.push(o>>12&63|128),e.push(o>>6&63|128),e.push(63&o|128)):e.push(239,191,189)}return new Uint8Array(e).buffer}},function(t,e,n){const i=n(14),o=n(13);function r(t){this.mode=i.KANJI,this.data=t}r.getBitsLength=function(t){return 13*t},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){let e;for(e=0;e=33088&&n<=40956)n-=33088;else{if(!(n>=57408&&n<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");n-=49472}n=192*(n>>>8&255)+(255&n),t.put(n,13)}},t.exports=r},function(t,e,n){"use strict";var i={single_source_shortest_paths:function(t,e,n){var o={},r={};r[e]=0;var a,s,l,c,u,p,d,m=i.PriorityQueue.make();for(m.push(e,0);!m.empty();)for(l in s=(a=m.pop()).value,c=a.cost,u=t[s]||{})u.hasOwnProperty(l)&&(p=c+u[l],d=r[l],(void 0===r[l]||d>p)&&(r[l]=p,m.push(l,p),o[l]=s));if(void 0!==n&&void 0===r[n]){var h=["Could not find a path from ",e," to ",n,"."].join("");throw new Error(h)}return o},extract_shortest_path_from_predecessor_list:function(t,e){for(var n=[],i=e;i;)n.push(i),t[i],i=t[i];return n.reverse(),n},find_path:function(t,e,n){var o=i.single_source_shortest_paths(t,e,n);return i.extract_shortest_path_from_predecessor_list(o,n)},PriorityQueue:{make:function(t){var e,n=i.PriorityQueue,o={};for(e in t=t||{},n)n.hasOwnProperty(e)&&(o[e]=n[e]);return o.queue=[],o.sorter=t.sorter||n.default_sorter,o},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var n={value:t,cost:e};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};t.exports=i},function(t,e,n){const i=n(114);e.render=function(t,e,n){let o=n,r=e;void 0!==o||e&&e.getContext||(o=e,e=void 0),e||(r=function(){try{return document.createElement("canvas")}catch(t){throw new Error("You need to specify a canvas element")}}()),o=i.getOptions(o);const a=i.getImageWidth(t.modules.size,o),s=r.getContext("2d"),l=s.createImageData(a,a);return i.qrToImageData(l.data,t,o),function(t,e,n){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=n,e.width=n,e.style.height=n+"px",e.style.width=n+"px"}(s,r,a),s.putImageData(l,0,0),r},e.renderToDataURL=function(t,n,i){let o=i;void 0!==o||n&&n.getContext||(o=n,n=void 0),o||(o={});const r=e.render(t,n,o),a=o.type||"image/png",s=o.rendererOpts||{};return r.toDataURL(a,s.quality)}},function(t,e,n){const i=n(114);function o(t,e){const n=t.a/255,i=e+'="'+t.hex+'"';return n<1?i+" "+e+'-opacity="'+n.toFixed(2).slice(1)+'"':i}function r(t,e,n){let i=t+e;return void 0!==n&&(i+=" "+n),i}e.render=function(t,e,n){const a=i.getOptions(e),s=t.modules.size,l=t.modules.data,c=s+2*a.margin,u=a.color.light.a?"':"",p="0&&c>0&&t[l-1]||(i+=a?r("M",c+n,.5+u+n):r("m",o,0),o=0,a=!1),c+1',d='viewBox="0 0 '+c+" "+c+'"',m=''+u+p+"\n";return"function"==typeof n&&n(null,m),m}},function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=n(110),r=i(n(108)),a={name:"GlobalSocialShare",inheritAttrs:!1,computed:{visible(){return!(this.$frontmatter.noGlobalSocialShare||this.$frontmatter.noSocialShare)}},data:()=>({isActive:!1}),methods:{handleClick(t){const{target:e}=t;this.$el.contains&&(this.$el.contains(e)||(this.isActive=!1))},toggle(t){this.isActive=!this.isActive,t.stopPropagation()}},render(t){if(!this.visible)return null;const e=()=>t("span",{class:"social-share-icon-svg",domProps:{innerHTML:this.isActive?o.SVG_ICON_CLOSE:o.SVG_ICON_SHARE}});return t("div",{attrs:{class:"social-share-global"}},[(()=>t(r.default,{style:{display:this.isActive?"block":"none"},props:Object.assign({},this.$attrs)}))(),(()=>t("button",{attrs:{class:"social-share-btn social-share-trigger",type:"button",role:"button"},on:{click:this.toggle}},[e()]))()])},mounted(){document.addEventListener("click",this.handleClick),this.$once("hook:beforeDestroy",()=>{document.removeEventListener("click",this.handleClick)})}};e.default=a},function(t,e,n){"use strict";n(115)},function(t,e,n){"use strict";n(116)},function(t,e,n){"use strict";n.r(e);var i=n(0); -/*! - * vue-router v3.6.5 - * (c) 2022 Evan You - * @license MIT - */function o(t,e){for(var n in e)t[n]=e[n];return t}var r=/[!'()*]/g,a=function(t){return"%"+t.charCodeAt(0).toString(16)},s=/%2C/g,l=function(t){return encodeURIComponent(t).replace(r,a).replace(s,",")};function c(t){try{return decodeURIComponent(t)}catch(t){0}return t}var u=function(t){return null==t||"object"==typeof t?t:String(t)};function p(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),i=c(n.shift()),o=n.length>0?c(n.join("=")):null;void 0===e[i]?e[i]=o:Array.isArray(e[i])?e[i].push(o):e[i]=[e[i],o]})),e):e}function d(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return l(e);if(Array.isArray(n)){var i=[];return n.forEach((function(t){void 0!==t&&(null===t?i.push(l(e)):i.push(l(e)+"="+l(t)))})),i.join("&")}return l(e)+"="+l(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var m=/\/?$/;function h(t,e,n,i){var o=i&&i.options.stringifyQuery,r=e.query||{};try{r=f(r)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:r,params:e.params||{},fullPath:y(e,o),matched:t?v(t):[]};return n&&(a.redirectedFrom=y(n,o)),Object.freeze(a)}function f(t){if(Array.isArray(t))return t.map(f);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=f(t[n]);return e}return t}var g=h(null,{path:"/"});function v(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function y(t,e){var n=t.path,i=t.query;void 0===i&&(i={});var o=t.hash;return void 0===o&&(o=""),(n||"/")+(e||d)(i)+o}function w(t,e,n){return e===g?t===e:!!e&&(t.path&&e.path?t.path.replace(m,"")===e.path.replace(m,"")&&(n||t.hash===e.hash&&b(t.query,e.query)):!(!t.name||!e.name)&&(t.name===e.name&&(n||t.hash===e.hash&&b(t.query,e.query)&&b(t.params,e.params))))}function b(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t).sort(),i=Object.keys(e).sort();return n.length===i.length&&n.every((function(n,o){var r=t[n];if(i[o]!==n)return!1;var a=e[n];return null==r||null==a?r===a:"object"==typeof r&&"object"==typeof a?b(r,a):String(r)===String(a)}))}function _(t){for(var e=0;e=0&&(e=t.slice(i),t=t.slice(0,i));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}(r.path||""),d=e&&e.path||"/",m=c.path?C(c.path,d,n||r.append):d,h=function(t,e,n){void 0===e&&(e={});var i,o=n||p;try{i=o(t||"")}catch(t){i={}}for(var r in e){var a=e[r];i[r]=Array.isArray(a)?a.map(u):u(a)}return i}(c.query,r.query,i&&i.options.parseQuery),f=r.hash||c.hash;return f&&"#"!==f.charAt(0)&&(f="#"+f),{_normalized:!0,path:m,query:h,hash:f}}var V,H=function(){},G={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,n=this.$router,i=this.$route,r=n.resolve(this.to,i,this.append),a=r.location,s=r.route,l=r.href,c={},u=n.options.linkActiveClass,p=n.options.linkExactActiveClass,d=null==u?"router-link-active":u,f=null==p?"router-link-exact-active":p,g=null==this.activeClass?d:this.activeClass,v=null==this.exactActiveClass?f:this.exactActiveClass,y=s.redirectedFrom?h(null,F(s.redirectedFrom),null,n):s;c[v]=w(i,y,this.exactPath),c[g]=this.exact||this.exactPath?c[v]:function(t,e){return 0===t.path.replace(m,"/").indexOf(e.path.replace(m,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(i,y);var b=c[v]?this.ariaCurrentValue:null,_=function(t){Y(t)&&(e.replace?n.replace(a,H):n.push(a,H))},k={click:Y};Array.isArray(this.event)?this.event.forEach((function(t){k[t]=_})):k[this.event]=_;var x={class:c},C=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:l,route:s,navigate:_,isActive:c[g],isExactActive:c[v]});if(C){if(1===C.length)return C[0];if(C.length>1||!C.length)return 0===C.length?t():t("span",{},C)}if("a"===this.tag)x.on=k,x.attrs={href:l,"aria-current":b};else{var S=function t(e){var n;if(e)for(var i=0;i-1&&(s.params[d]=n.params[d]);return s.path=D(u.path,s.params),l(u,s,a)}if(s.path){s.params={};for(var m=0;m-1}function St(t,e){return Ct(t)&&t._isRouter&&(null==e||t.type===e)}function Pt(t,e,n){var i=function(o){o>=t.length?n():t[o]?e(t[o],(function(){i(o+1)})):i(o+1)};i(0)}function Tt(t){return function(e,n,i){var o=!1,r=0,a=null;Ot(t,(function(t,e,n,s){if("function"==typeof t&&void 0===t.cid){o=!0,r++;var l,c=At((function(e){var o;((o=e).__esModule||Et&&"Module"===o[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:V.extend(e),n.components[s]=e,--r<=0&&i()})),u=At((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=Ct(t)?t:new Error(e),i(a))}));try{l=t(c,u)}catch(t){u(t)}if(l)if("function"==typeof l.then)l.then(c,u);else{var p=l.component;p&&"function"==typeof p.then&&p.then(c,u)}}})),o||i()}}function Ot(t,e){return zt(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function zt(t){return Array.prototype.concat.apply([],t)}var Et="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function At(t){var e=!1;return function(){for(var n=[],i=arguments.length;i--;)n[i]=arguments[i];if(!e)return e=!0,t.apply(this,n)}}var $t=function(t,e){this.router=t,this.base=function(t){if(!t)if(K){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";"/"!==t.charAt(0)&&(t="/"+t);return t.replace(/\/$/,"")}(e),this.current=g,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function Mt(t,e,n,i){var o=Ot(t,(function(t,i,o,r){var a=function(t,e){"function"!=typeof t&&(t=V.extend(t));return t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map((function(t){return n(t,i,o,r)})):n(a,i,o,r)}));return zt(i?o.reverse():o)}function jt(t,e){if(e)return function(){return t.apply(e,arguments)}}$t.prototype.listen=function(t){this.cb=t},$t.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},$t.prototype.onError=function(t){this.errorCbs.push(t)},$t.prototype.transitionTo=function(t,e,n){var i,o=this;try{i=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var r=this.current;this.confirmTransition(i,(function(){o.updateRoute(i),e&&e(i),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(i,r)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(i)})))}),(function(t){n&&n(t),t&&!o.ready&&(St(t,wt.redirected)&&r===g||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},$t.prototype.confirmTransition=function(t,e,n){var i=this,o=this.current;this.pending=t;var r,a,s=function(t){!St(t)&&Ct(t)&&(i.errorCbs.length?i.errorCbs.forEach((function(e){e(t)})):console.error(t)),n&&n(t)},l=t.matched.length-1,c=o.matched.length-1;if(w(t,o)&&l===c&&t.matched[l]===o.matched[c])return this.ensureURL(),t.hash&&st(this.router,o,t,!1),s(((a=kt(r=o,t,wt.duplicated,'Avoided redundant navigation to current location: "'+r.fullPath+'".')).name="NavigationDuplicated",a));var u=function(t,e){var n,i=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,i=gt&&n;i&&this.listeners.push(at());var o=function(){var n=t.current,o=Lt(t.base);t.current===g&&o===t._startLocation||t.transitionTo(o,(function(t){i&&st(e,t,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var i=this,o=this.current;this.transitionTo(t,(function(t){vt(S(i.base+t.fullPath)),st(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var i=this,o=this.current;this.transitionTo(t,(function(t){yt(S(i.base+t.fullPath)),st(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(Lt(this.base)!==this.current.fullPath){var e=S(this.base+this.current.fullPath);t?vt(e):yt(e)}},e.prototype.getCurrentLocation=function(){return Lt(this.base)},e}($t);function Lt(t){var e=window.location.pathname,n=e.toLowerCase(),i=t.toLowerCase();return!t||n!==i&&0!==n.indexOf(S(i+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var It=function(t){function e(e,n,i){t.call(this,e,n),i&&function(t){var e=Lt(t);if(!/^\/#/.test(e))return window.location.replace(S(t+"/#"+e)),!0}(this.base)||Wt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,n=gt&&e;n&&this.listeners.push(at());var i=function(){var e=t.current;Wt()&&t.transitionTo(Nt(),(function(i){n&&st(t.router,i,e,!0),gt||Rt(i.fullPath)}))},o=gt?"popstate":"hashchange";window.addEventListener(o,i),this.listeners.push((function(){window.removeEventListener(o,i)}))}},e.prototype.push=function(t,e,n){var i=this,o=this.current;this.transitionTo(t,(function(t){qt(t.fullPath),st(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var i=this,o=this.current;this.transitionTo(t,(function(t){Rt(t.fullPath),st(i.router,t,o,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Nt()!==e&&(t?qt(e):Rt(e))},e.prototype.getCurrentLocation=function(){return Nt()},e}($t);function Wt(){var t=Nt();return"/"===t.charAt(0)||(Rt("/"+t),!1)}function Nt(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function Ut(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function qt(t){gt?vt(Ut(t)):window.location.hash=t}function Rt(t){gt?yt(Ut(t)):window.location.replace(Ut(t))}var Dt=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var i=this;this.transitionTo(t,(function(t){i.stack=i.stack.slice(0,i.index+1).concat(t),i.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var i=this;this.transitionTo(t,(function(t){i.stack=i.stack.slice(0,i.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var i=this.stack[n];this.confirmTransition(i,(function(){var t=e.current;e.index=n,e.updateRoute(i),e.router.afterHooks.forEach((function(e){e&&e(i,t)}))}),(function(t){St(t,wt.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}($t),Ft=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Q(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!gt&&!1!==t.fallback,this.fallback&&(e="hash"),K||(e="abstract"),this.mode=e,e){case"history":this.history=new Bt(this,t.base);break;case"hash":this.history=new It(this,t.base,this.fallback);break;case"abstract":this.history=new Dt(this,t.base);break;default:0}},Vt={currentRoute:{configurable:!0}};Ft.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Vt.currentRoute.get=function(){return this.history&&this.history.current},Ft.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof Bt||n instanceof It){var i=function(t){n.setupListeners(),function(t){var i=n.current,o=e.options.scrollBehavior;gt&&o&&"fullPath"in t&&st(e,t,i,!1)}(t)};n.transitionTo(n.getCurrentLocation(),i,i)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Ft.prototype.beforeEach=function(t){return Gt(this.beforeHooks,t)},Ft.prototype.beforeResolve=function(t){return Gt(this.resolveHooks,t)},Ft.prototype.afterEach=function(t){return Gt(this.afterHooks,t)},Ft.prototype.onReady=function(t,e){this.history.onReady(t,e)},Ft.prototype.onError=function(t){this.history.onError(t)},Ft.prototype.push=function(t,e,n){var i=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){i.history.push(t,e,n)}));this.history.push(t,e,n)},Ft.prototype.replace=function(t,e,n){var i=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){i.history.replace(t,e,n)}));this.history.replace(t,e,n)},Ft.prototype.go=function(t){this.history.go(t)},Ft.prototype.back=function(){this.go(-1)},Ft.prototype.forward=function(){this.go(1)},Ft.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Ft.prototype.resolve=function(t,e,n){var i=F(t,e=e||this.history.current,n,this),o=this.match(i,e),r=o.redirectedFrom||o.fullPath;return{location:i,route:o,href:function(t,e,n){var i="hash"===n?"#"+e:e;return t?S(t+"/"+i):i}(this.history.base,r,this.mode),normalizedTo:i,resolved:o}},Ft.prototype.getRoutes=function(){return this.matcher.getRoutes()},Ft.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==g&&this.history.transitionTo(this.history.getCurrentLocation())},Ft.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==g&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Ft.prototype,Vt);var Ht=Ft;function Gt(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}Ft.install=function t(e){if(!t.installed||V!==e){t.installed=!0,V=e;var n=function(t){return void 0!==t},i=function(t,e){var i=t.$options._parentVnode;n(i)&&n(i=i.data)&&n(i=i.registerRouteInstance)&&i(t,e)};e.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,i(this,this)},destroyed:function(){i(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",k),e.component("RouterLink",G);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Ft.version="3.6.5",Ft.isNavigationFailure=St,Ft.NavigationFailureType=wt,Ft.START_LOCATION=g,K&&window.Vue&&window.Vue.use(Ft);n(63);n(61),n(62);var Yt={NotFound:()=>n.e(55).then(n.bind(null,488)),Layout:()=>Promise.all([n.e(0),n.e(1)]).then(n.bind(null,317)),BlogList:()=>Promise.all([n.e(0),n.e(1),n.e(16)]).then(n.bind(null,489)),BlogPost:()=>Promise.all([n.e(0),n.e(1),n.e(7)]).then(n.bind(null,490)),FeatureList:()=>Promise.all([n.e(0),n.e(1),n.e(10)]).then(n.bind(null,491)),FeaturePage:()=>Promise.all([n.e(0),n.e(1),n.e(8)]).then(n.bind(null,492)),Visnalize:()=>Promise.all([n.e(0),n.e(1),n.e(47)]).then(n.bind(null,318)),WithComments:()=>Promise.all([n.e(0),n.e(1),n.e(17)]).then(n.bind(null,493)),WithSideAds:()=>Promise.all([n.e(0),n.e(1),n.e(18)]).then(n.bind(null,494))},Kt={"v-79f79f20":()=>n.e(11).then(n.bind(null,530)),"v-7cbecfe2":()=>n.e(65).then(n.bind(null,531)),"v-01aa2ce2":()=>n.e(52).then(n.bind(null,532)),"v-667fa73c":()=>n.e(67).then(n.bind(null,533)),"v-2fec31fc":()=>n.e(66).then(n.bind(null,534)),"v-ff74563c":()=>n.e(68).then(n.bind(null,535)),"v-ac7b70bc":()=>n.e(48).then(n.bind(null,536)),"v-469b7b80":()=>n.e(12).then(n.bind(null,537)),"v-4b7e6c3c":()=>n.e(13).then(n.bind(null,538)),"v-17861269":()=>n.e(69).then(n.bind(null,539)),"v-fbbdb2e0":()=>n.e(70).then(n.bind(null,540)),"v-194e1218":()=>n.e(19).then(n.bind(null,541)),"v-26dc8250":()=>n.e(71).then(n.bind(null,542)),"v-1131db82":()=>n.e(72).then(n.bind(null,543)),"v-4182c7bc":()=>n.e(49).then(n.bind(null,544)),"v-44a529fc":()=>n.e(50).then(n.bind(null,545)),"v-bfc8be7c":()=>n.e(51).then(n.bind(null,546)),"v-3424310c":()=>n.e(20).then(n.bind(null,547)),"v-72bfdbc2":()=>n.e(73).then(n.bind(null,548)),"v-301172dc":()=>n.e(74).then(n.bind(null,549)),"v-6796123c":()=>n.e(75).then(n.bind(null,550)),"v-3692f0a2":()=>n.e(76).then(n.bind(null,551)),"v-84d6517c":()=>n.e(77).then(n.bind(null,552)),"v-16be053c":()=>n.e(78).then(n.bind(null,553)),"v-7716093c":()=>n.e(4).then(n.bind(null,554)),"v-2af59a42":()=>n.e(80).then(n.bind(null,555)),"v-6cc96c82":()=>n.e(81).then(n.bind(null,556)),"v-6444650a":()=>n.e(79).then(n.bind(null,557)),"v-08727ec0":()=>n.e(83).then(n.bind(null,558)),"v-ba31739c":()=>n.e(84).then(n.bind(null,559)),"v-8cd4b9a4":()=>n.e(85).then(n.bind(null,560)),"v-e8bf05a2":()=>n.e(86).then(n.bind(null,561)),"v-530b246c":()=>n.e(87).then(n.bind(null,562)),"v-0d73ba82":()=>n.e(88).then(n.bind(null,563)),"v-7c23e4bc":()=>n.e(89).then(n.bind(null,564)),"v-3dbeba22":()=>n.e(90).then(n.bind(null,565)),"v-33b74904":()=>n.e(91).then(n.bind(null,566)),"v-6baf4482":()=>n.e(93).then(n.bind(null,567)),"v-1f96767c":()=>n.e(92).then(n.bind(null,568)),"v-2ddd3eac":()=>n.e(94).then(n.bind(null,569)),"v-10412362":()=>n.e(95).then(n.bind(null,570)),"v-1e6132e6":()=>n.e(96).then(n.bind(null,571)),"v-aa648488":()=>n.e(97).then(n.bind(null,572)),"v-98844e8a":()=>n.e(82).then(n.bind(null,573)),"v-ff06623c":()=>n.e(98).then(n.bind(null,574)),"v-856c7aa8":()=>n.e(99).then(n.bind(null,575)),"v-7d425f36":()=>n.e(100).then(n.bind(null,576)),"v-605a7f7c":()=>n.e(101).then(n.bind(null,577)),"v-6078d960":()=>n.e(102).then(n.bind(null,578)),"v-9c0e9874":()=>n.e(104).then(n.bind(null,579)),"v-6e4fcf02":()=>n.e(103).then(n.bind(null,580)),"v-482face2":()=>n.e(105).then(n.bind(null,581)),"v-190bf8bc":()=>n.e(106).then(n.bind(null,582)),"v-6a81288c":()=>n.e(107).then(n.bind(null,583)),"v-496f6bc2":()=>n.e(108).then(n.bind(null,584)),"v-9c5b69dc":()=>n.e(109).then(n.bind(null,585)),"v-e435f744":()=>n.e(110).then(n.bind(null,586)),"v-51b76d92":()=>n.e(112).then(n.bind(null,587)),"v-10fbe366":()=>n.e(111).then(n.bind(null,588)),"v-2cf24a82":()=>n.e(14).then(n.bind(null,589)),"v-007b4402":()=>n.e(5).then(n.bind(null,590)),"v-05767d49":()=>n.e(53).then(n.bind(null,591))};function Jt(t){const e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}const Xt=/-(\w)/g,Qt=Jt(t=>t.replace(Xt,(t,e)=>e?e.toUpperCase():"")),Zt=/\B([A-Z])/g,te=Jt(t=>t.replace(Zt,"-$1").toLowerCase()),ee=Jt(t=>t.charAt(0).toUpperCase()+t.slice(1));function ne(t,e){if(!e)return;if(t(e))return t(e);return e.includes("-")?t(ee(Qt(e))):t(ee(e))||t(te(e))}const ie=Object.assign({},Yt,Kt),oe=t=>ie[t],re=t=>Kt[t],ae=t=>Yt[t],se=t=>i.a.component(t);function le(t){return ne(re,t)}function ce(t){return ne(ae,t)}function ue(t){return ne(oe,t)}function pe(t){return ne(se,t)}function de(...t){return Promise.all(t.filter(t=>t).map(async t=>{if(!pe(t)&&ue(t)){const e=await ue(t)();i.a.component(t,e.default)}}))}function me(t,e){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[t]=e)}var he=n(117),fe=n.n(he),ge=n(118),ve=n.n(ge),ye={created(){if(this.siteMeta=this.$site.headTags.filter(([t])=>"meta"===t).map(([t,e])=>e),this.$ssrContext){const e=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(t=e)?t.map(t=>{let e="{e+=` ${n}="${ve()(t[n])}"`}),e+">"}).join("\n "):"",this.$ssrContext.canonicalLink=be(this.$canonicalUrl)}var t},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const t=this.getMergedMetaTags();this.currentMetaTags=_e(t,this.currentMetaTags)},getMergedMetaTags(){const t=this.$page.frontmatter.meta||[];return fe()([{name:"description",content:this.$description}],t,this.siteMeta,ke)},updateCanonicalLink(){we(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",be(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){_e(null,this.currentMetaTags),we()}};function we(){const t=document.querySelector("link[rel='canonical']");t&&t.remove()}function be(t=""){return t?``:""}function _e(t,e){if(e&&[...e].filter(t=>t.parentNode===document.head).forEach(t=>document.head.removeChild(t)),t)return t.map(t=>{const e=document.createElement("meta");return Object.keys(t).forEach(n=>{e.setAttribute(n,t[n])}),document.head.appendChild(e),e})}function ke(t){for(const e of["name","property","itemprop"])if(t.hasOwnProperty(e))return t[e]+e;return JSON.stringify(t)}var xe=n(119),Ce={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(xe)()((function(){this.setActiveHash()}),300),setActiveHash(){const t=[].slice.call(document.querySelectorAll(".sidebar-link")),e=[].slice.call(document.querySelectorAll(".header-anchor")).filter(e=>t.some(t=>t.hash===e.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),i=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),o=window.innerHeight+n;for(let t=0;t=r.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},Se=n(32),Pe=n.n(Se),Te={mounted(){Pe.a.configure({showSpinner:!1}),this.$router.beforeEach((t,e,n)=>{t.path===e.path||i.a.component(t.name)||Pe.a.start(),n()}),this.$router.afterEach(()=>{Pe.a.done(),this.isSidebarOpen=!1})}},Oe=n(120),ze=n.n(Oe),Ee=[ye,Ce,Te,{mounted(){ze.a.polyfill()}}],Ae={name:"GlobalLayout",computed:{layout(){const t=this.getLayout();return me("layout",t),i.a.component(t)}},methods:{getLayout(){if(this.$page.path){const t=this.$page.frontmatter.layout;return t&&(this.$vuepress.getLayoutAsyncComponent(t)||this.$vuepress.getVueComponent(t))?t:"Layout"}return"NotFound"}}},$e=n(16),Me=Object($e.a)(Ae,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(t,e,n){switch(e){case"components":t[e]||(t[e]={}),Object.assign(t[e],n);break;case"mixins":t[e]||(t[e]=[]),t[e].push(...n);break;default:throw new Error("Unknown option name.")}}(Me,"mixins",Ee);const je=[{name:"v-79f79f20",path:"/blog/about-the-ads.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-79f79f20").then(n)}},{name:"v-7cbecfe2",path:"/about.html",component:Me,beforeEnter:(t,e,n)=>{de("Layout","v-7cbecfe2").then(n)}},{name:"v-01aa2ce2",path:"/blog/building-visnalize-com.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-01aa2ce2").then(n)}},{name:"v-667fa73c",path:"/blog/concealing-online-identity.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-667fa73c").then(n)}},{name:"v-2fec31fc",path:"/blog/building-win7-simu.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-2fec31fc").then(n)}},{name:"v-ff74563c",path:"/blog/from-codepen-to-app.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-ff74563c").then(n)}},{name:"v-ac7b70bc",path:"/blog/from-side-project-to-side-hustle.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-ac7b70bc").then(n)}},{name:"v-469b7b80",path:"/blog/game-stick-lite-4k-adding-games.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-469b7b80").then(n)}},{name:"v-4b7e6c3c",path:"/blog/load-any-websites-in-iframes.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-4b7e6c3c").then(n)}},{name:"v-17861269",path:"/blog/",component:Me,beforeEnter:(t,e,n)=>{de("BlogList","v-17861269").then(n)}},{path:"/blog/index.html",redirect:"/blog/"},{name:"v-fbbdb2e0",path:"/blog/simulator-vs-emulator.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-fbbdb2e0").then(n)}},{name:"v-194e1218",path:"/blog/visnalize-year-in-review-2023.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-194e1218").then(n)}},{name:"v-26dc8250",path:"/blog/why-side-hustle.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-26dc8250").then(n)}},{name:"v-1131db82",path:"/blog/win7-icons-viewer-downloader.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-1131db82").then(n)}},{name:"v-4182c7bc",path:"/blog/win7-simu-file-explorer.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-4182c7bc").then(n)}},{name:"v-44a529fc",path:"/blog/win7-simu-mobile-devices.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-44a529fc").then(n)}},{name:"v-bfc8be7c",path:"/blog/win7-simu-windows-media-center.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-bfc8be7c").then(n)}},{name:"v-3424310c",path:"/blog/win7-simu-year-in-review-2022.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-3424310c").then(n)}},{name:"v-72bfdbc2",path:"/blog/win7-ui-introduction.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-72bfdbc2").then(n)}},{name:"v-301172dc",path:"/blog/windows-resources.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-301172dc").then(n)}},{name:"v-6796123c",path:"/brick1100/about.html",component:Me,beforeEnter:(t,e,n)=>{de("WithComments","v-6796123c").then(n)}},{name:"v-3692f0a2",path:"/brick1100/builders.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-3692f0a2").then(n)}},{name:"v-84d6517c",path:"/brick1100/changelog.html",component:Me,beforeEnter:(t,e,n)=>{de("Layout","v-84d6517c").then(n)}},{name:"v-16be053c",path:"/brick1100/deep-links.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-16be053c").then(n)}},{name:"v-7716093c",path:"/brick1100/games.html",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-7716093c").then(n)}},{name:"v-2af59a42",path:"/brick1100/privacy.html",component:Me,beforeEnter:(t,e,n)=>{de("Layout","v-2af59a42").then(n)}},{name:"v-6cc96c82",path:"/contact.html",component:Me,beforeEnter:(t,e,n)=>{de("Layout","v-6cc96c82").then(n)}},{name:"v-6444650a",path:"/brick1100/",component:Me,beforeEnter:(t,e,n)=>{de("Layout","v-6444650a").then(n)}},{path:"/brick1100/index.html",redirect:"/brick1100/"},{name:"v-08727ec0",path:"/win7simu/about.html",component:Me,beforeEnter:(t,e,n)=>{de("WithComments","v-08727ec0").then(n)}},{name:"v-ba31739c",path:"/win7simu/changelog.html",component:Me,beforeEnter:(t,e,n)=>{de("Layout","v-ba31739c").then(n)}},{name:"v-8cd4b9a4",path:"/win7simu/faq.html",component:Me,beforeEnter:(t,e,n)=>{de("WithComments","v-8cd4b9a4").then(n)}},{name:"v-e8bf05a2",path:"/win7simu/",component:Me,beforeEnter:(t,e,n)=>{de("Layout","v-e8bf05a2").then(n)}},{path:"/win7simu/index.html",redirect:"/win7simu/"},{name:"v-530b246c",path:"/win7simu/privacy.html",component:Me,beforeEnter:(t,e,n)=>{de("Layout","v-530b246c").then(n)}},{name:"v-0d73ba82",path:"/win7simu/simulated/bios.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-0d73ba82").then(n)}},{name:"v-7c23e4bc",path:"/win7simu/simulated/calculator.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-7c23e4bc").then(n)}},{name:"v-3dbeba22",path:"/win7simu/simulated/chrome.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-3dbeba22").then(n)}},{name:"v-33b74904",path:"/win7simu/simulated/cmd.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-33b74904").then(n)}},{name:"v-6baf4482",path:"/win7simu/simulated/fileexplorer.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-6baf4482").then(n)}},{name:"v-1f96767c",path:"/win7simu/simulated/cpanel.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-1f96767c").then(n)}},{name:"v-2ddd3eac",path:"/win7simu/simulated/gadgets.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-2ddd3eac").then(n)}},{name:"v-10412362",path:"/win7simu/simulated/ie.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-10412362").then(n)}},{name:"v-1e6132e6",path:"/win7simu/simulated/",component:Me,beforeEnter:(t,e,n)=>{de("FeatureList","v-1e6132e6").then(n)}},{path:"/win7simu/simulated/index.html",redirect:"/win7simu/simulated/"},{name:"v-aa648488",path:"/win7simu/simulated/magnifier.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-aa648488").then(n)}},{name:"v-98844e8a",path:"/",component:Me,beforeEnter:(t,e,n)=>{de("Layout","v-98844e8a").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-ff06623c",path:"/win7simu/simulated/media-player.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-ff06623c").then(n)}},{name:"v-856c7aa8",path:"/win7simu/simulated/minesweeper.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-856c7aa8").then(n)}},{name:"v-7d425f36",path:"/win7simu/simulated/notepad.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-7d425f36").then(n)}},{name:"v-605a7f7c",path:"/win7simu/simulated/paint.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-605a7f7c").then(n)}},{name:"v-6078d960",path:"/win7simu/simulated/personalize.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-6078d960").then(n)}},{name:"v-9c0e9874",path:"/win7simu/simulated/purbleplace.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-9c0e9874").then(n)}},{name:"v-6e4fcf02",path:"/win7simu/simulated/programs.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-6e4fcf02").then(n)}},{name:"v-482face2",path:"/win7simu/simulated/recorder.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-482face2").then(n)}},{name:"v-190bf8bc",path:"/win7simu/simulated/snipping.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-190bf8bc").then(n)}},{name:"v-6a81288c",path:"/win7simu/simulated/solitaire.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-6a81288c").then(n)}},{name:"v-496f6bc2",path:"/win7simu/simulated/sticky.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-496f6bc2").then(n)}},{name:"v-9c5b69dc",path:"/win7simu/simulated/taskmgr.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-9c5b69dc").then(n)}},{name:"v-e435f744",path:"/win7simu/simulated/wmc.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-e435f744").then(n)}},{name:"v-51b76d92",path:"/win7simu/themestudio/changelog.html",component:Me,beforeEnter:(t,e,n)=>{de("Layout","v-51b76d92").then(n)}},{name:"v-10fbe366",path:"/win7simu/simulated/wordpad.html",component:Me,beforeEnter:(t,e,n)=>{de("FeaturePage","v-10fbe366").then(n)}},{name:"v-2cf24a82",path:"/win7simu/themestudio/in-depth-guide.html",component:Me,beforeEnter:(t,e,n)=>{de("WithComments","v-2cf24a82").then(n)}},{name:"v-007b4402",path:"/win7simu/themestudio/quick-guide.html",component:Me,beforeEnter:(t,e,n)=>{de("WithComments","v-007b4402").then(n)}},{name:"v-05767d49",path:"/win7simu/themestudio/",component:Me,beforeEnter:(t,e,n)=>{de("BlogPost","v-05767d49").then(n)}},{path:"/win7simu/themestudio/index.html",redirect:"/win7simu/themestudio/"},{name:"v-0326206d",path:"/blog/tag/",component:Me,beforeEnter:(t,e,n)=>{de("BlogList","v-0326206d").then(n)},meta:{pid:"tag",id:"tag"}},{path:"/blog/tag/index.html",redirect:"/blog/tag/"},{name:"v-60422faa",path:"/blog/tag/tips/",component:Me,beforeEnter:(t,e,n)=>{de("BlogList","v-60422faa").then(n)},meta:{pid:"tag",id:"tips"}},{path:"/blog/tag/tips/index.html",redirect:"/blog/tag/tips/"},{name:"v-0052e380",path:"/blog/tag/sharing/",component:Me,beforeEnter:(t,e,n)=>{de("BlogList","v-0052e380").then(n)},meta:{pid:"tag",id:"sharing"}},{path:"/blog/tag/sharing/index.html",redirect:"/blog/tag/sharing/"},{name:"v-62ece89f",path:"/blog/tag/technical/",component:Me,beforeEnter:(t,e,n)=>{de("BlogList","v-62ece89f").then(n)},meta:{pid:"tag",id:"technical"}},{path:"/blog/tag/technical/index.html",redirect:"/blog/tag/technical/"},{name:"v-3e40a282",path:"/blog/tag/random/",component:Me,beforeEnter:(t,e,n)=>{de("BlogList","v-3e40a282").then(n)},meta:{pid:"tag",id:"random"}},{path:"/blog/tag/random/index.html",redirect:"/blog/tag/random/"},{name:"v-791b612c",path:"/blog/tag/win7-simu/",component:Me,beforeEnter:(t,e,n)=>{de("BlogList","v-791b612c").then(n)},meta:{pid:"tag",id:"win7-simu"}},{path:"/blog/tag/win7-simu/index.html",redirect:"/blog/tag/win7-simu/"},{name:"v-549e50f6",path:"/blog/tag/brick-1100/",component:Me,beforeEnter:(t,e,n)=>{de("BlogList","v-549e50f6").then(n)},meta:{pid:"tag",id:"brick-1100"}},{path:"/blog/tag/brick-1100/index.html",redirect:"/blog/tag/brick-1100/"},{name:"v-2fb4226c",path:"/blog/tag/review/",component:Me,beforeEnter:(t,e,n)=>{de("BlogList","v-2fb4226c").then(n)},meta:{pid:"tag",id:"review"}},{path:"/blog/tag/review/index.html",redirect:"/blog/tag/review/"},{name:"v-af50673e",path:"/blog/tag/tools/",component:Me,beforeEnter:(t,e,n)=>{de("BlogList","v-af50673e").then(n)},meta:{pid:"tag",id:"tools"}},{path:"/blog/tag/tools/index.html",redirect:"/blog/tag/tools/"},{path:"*",component:Me}],Be={title:"Visnalize",description:"",base:"/",headTags:[["link",{rel:"icon",href:"/assets/favicon.png"}],["meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}],["script",{async:!0,src:"https://code.iconify.design/iconify-icon/2.1.0/iconify-icon.min.js"}],["script",{},"(function() { typeof localStorage !== 'undefined' && localStorage.getItem('darkMode') === 'true' && document.documentElement.classList.add('is-dark'); })()"],["script",{async:!0,"data-ad-client":"ca-pub-5904323684803247",src:"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"}],["script",{async:!0,src:"https://www.googletagmanager.com/gtag/js?id=G-TRC2SF4L67"}],["script",{},"window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-TRC2SF4L67');"],["script",{async:!0,src:"https://fundingchoicesmessages.google.com/i/pub-5904323684803247?ers=1",nonce:"3HRDcENAr3Egc7skT36mnQ"}],["script",{nonce:"3HRDcENAr3Egc7skT36mnQ"},"(function () { function signalGooglefcPresent() { if (!window.frames['googlefcPresent']) { if (document.body) { const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe); } else { setTimeout(signalGooglefcPresent, 0); } } } signalGooglefcPresent(); })();"],["link",{rel:"alternate",type:"application/rss+xml",href:"https://visnalize.com/rss.xml",title:"Visnalize RSS Feed"}],["link",{rel:"alternate",type:"application/atom+xml",href:"https://visnalize.com/feed.atom",title:"Visnalize Atom Feed"}],["link",{rel:"alternate",type:"application/json",href:"https://visnalize.com/feed.json",title:"Visnalize JSON Feed"}]],pages:[{title:"About the ads and how I implement them",frontmatter:{layout:"BlogPost",description:"A couple of things about ads and how I implement them within my websites and apps",sidebar:"auto",tag:["tips","sharing"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"About the ads and how I implement them"},{name:"twitter:description",content:"A couple of things about ads and how I implement them within my websites and apps"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/about-the-ads.html"},{property:"og:type",content:"article"},{property:"og:title",content:"About the ads and how I implement them"},{property:"og:description",content:"A couple of things about ads and how I implement them within my websites and apps"},{property:"og:image",content:"https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/about-the-ads.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"About the ads and how I implement them"},{itemprop:"description",content:"A couple of things about ads and how I implement them within my websites and apps"},{itemprop:"image",content:"https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/about-the-ads.html",relativePath:"blog/about-the-ads.md",key:"v-79f79f20",path:"/blog/about-the-ads.html",headers:[{level:2,title:"Choosing the Ad Network",slug:"choosing-the-ad-network"},{level:2,title:"Picking the Ad Format",slug:"picking-the-ad-format"},{level:3,title:"Mobile App",slug:"mobile-app"},{level:3,title:"Website",slug:"website"},{level:2,title:"Implementing ads",slug:"implementing-ads"},{level:3,title:"Win7 Simu",slug:"win7-simu"},{level:3,title:"This website",slug:"this-website"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"9/22/2021, 2:37:44 PM",firstCreatedTimestamp:1632321464e3},{title:"🙋‍♂️ About Me",frontmatter:{sidebar:!1,description:"Full-time software developer, free-time app maker. Author of Win7 Simu and Brick 1100. On a mission to relive the good old days.",image:"https://image.social/get?url=visnalize.com/about.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/about.html"},{name:"twitter:title",content:"🙋‍♂️ About Me"},{name:"twitter:description",content:"Full-time software developer, free-time app maker. Author of Win7 Simu and Brick 1100. On a mission to relive the good old days."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/about.html"},{name:"twitter:url",content:"https://visnalize.com/about.html"},{property:"og:type",content:"article"},{property:"og:title",content:"🙋‍♂️ About Me"},{property:"og:description",content:"Full-time software developer, free-time app maker. Author of Win7 Simu and Brick 1100. On a mission to relive the good old days."},{property:"og:image",content:"https://image.social/get?url=visnalize.com/about.html"},{property:"og:url",content:"https://visnalize.com/about.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"🙋‍♂️ About Me"},{itemprop:"description",content:"Full-time software developer, free-time app maker. Author of Win7 Simu and Brick 1100. On a mission to relive the good old days."},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/about.html"}]},regularPath:"/about.html",relativePath:"about.md",key:"v-7cbecfe2",path:"/about.html",headers:[{level:2,title:"Visnalize",slug:"visnalize"},{level:2,title:"Contact",slug:"contact"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"7/24/2021, 12:28:16 PM",firstCreatedTimestamp:1627129696e3},{title:"How I built visnalize.com",frontmatter:{layout:"BlogPost",description:"Read about the progress and how I built the visnalize.com website for my own brand",sidebar:"auto",tag:"technical",meta:[{name:"image",content:"https://images.unsplash.com/photo-1461749280684-dccba630e2f6?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"How I built visnalize.com"},{name:"twitter:description",content:"Read about the progress and how I built the visnalize.com website for my own brand"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1461749280684-dccba630e2f6?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/building-visnalize-com.html"},{property:"og:type",content:"article"},{property:"og:title",content:"How I built visnalize.com"},{property:"og:description",content:"Read about the progress and how I built the visnalize.com website for my own brand"},{property:"og:image",content:"https://images.unsplash.com/photo-1461749280684-dccba630e2f6?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/building-visnalize-com.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"How I built visnalize.com"},{itemprop:"description",content:"Read about the progress and how I built the visnalize.com website for my own brand"},{itemprop:"image",content:"https://images.unsplash.com/photo-1461749280684-dccba630e2f6?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/building-visnalize-com.html",relativePath:"blog/building-visnalize-com.md",key:"v-01aa2ce2",path:"/blog/building-visnalize-com.html",headers:[{level:2,title:"The focus",slug:"the-focus"},{level:2,title:"The making",slug:"the-making"},{level:3,title:"Setup",slug:"setup"},{level:3,title:"Customizing",slug:"customizing"},{level:2,title:"The deployment",slug:"the-deployment"},{level:2,title:"Epilogue",slug:"epilogue"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"5/21/2022, 5:21:07 AM",firstCreatedTimestamp:1653110467e3},{title:"Why I choose to conceal my online identity",frontmatter:{layout:"BlogPost",description:"My takes on internet privacy and why I choose to conceal mine.",sidebar:"auto",tag:["sharing","random"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/concealing-online-identity.jpg"},{name:"twitter:title",content:"Why I choose to conceal my online identity"},{name:"twitter:description",content:"My takes on internet privacy and why I choose to conceal mine."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/concealing-online-identity.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/concealing-online-identity.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Why I choose to conceal my online identity"},{property:"og:description",content:"My takes on internet privacy and why I choose to conceal mine."},{property:"og:image",content:"https://visnalize.com/assets/covers/concealing-online-identity.jpg"},{property:"og:url",content:"https://visnalize.com/blog/concealing-online-identity.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Why I choose to conceal my online identity"},{itemprop:"description",content:"My takes on internet privacy and why I choose to conceal mine."},{itemprop:"image",content:"https://visnalize.com/assets/covers/concealing-online-identity.jpg"}]},regularPath:"/blog/concealing-online-identity.html",relativePath:"blog/concealing-online-identity.md",key:"v-667fa73c",path:"/blog/concealing-online-identity.html",headers:[{level:2,title:"1. Privacy",slug:"_1-privacy"},{level:2,title:"2. Security",slug:"_2-security"},{level:2,title:"3. Ethics",slug:"_3-ethics"},{level:2,title:"4. Commitment",slug:"_4-commitment"}],lastUpdated:"8/24/2024, 11:23:04 AM",lastUpdatedTimestamp:1724498584e3,firstCreated:"8/23/2024, 1:32:41 PM",firstCreatedTimestamp:1724419961e3},{title:"How I built Win7 Simu",frontmatter:{layout:"BlogPost",description:"Read about my journey with Win7 Simu, how it all started and unveiling some boring technical stuff behind the scene",sidebar:"auto",tag:["win7-simu","sharing","technical"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/building-win7-simu.jpg"},{name:"twitter:title",content:"How I built Win7 Simu"},{name:"twitter:description",content:"Read about my journey with Win7 Simu, how it all started and unveiling some boring technical stuff behind the scene"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/building-win7-simu.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/building-win7-simu.html"},{property:"og:type",content:"article"},{property:"og:title",content:"How I built Win7 Simu"},{property:"og:description",content:"Read about my journey with Win7 Simu, how it all started and unveiling some boring technical stuff behind the scene"},{property:"og:image",content:"https://visnalize.com/assets/covers/building-win7-simu.jpg"},{property:"og:url",content:"https://visnalize.com/blog/building-win7-simu.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"How I built Win7 Simu"},{itemprop:"description",content:"Read about my journey with Win7 Simu, how it all started and unveiling some boring technical stuff behind the scene"},{itemprop:"image",content:"https://visnalize.com/assets/covers/building-win7-simu.jpg"}]},regularPath:"/blog/building-win7-simu.html",relativePath:"blog/building-win7-simu.md",key:"v-2fec31fc",path:"/blog/building-win7-simu.html",headers:[{level:2,title:"How it all started",slug:"how-it-all-started"},{level:3,title:"The goal",slug:"the-goal"},{level:3,title:"The tech stack",slug:"the-tech-stack"},{level:2,title:"It's come a long way",slug:"it-s-come-a-long-way"},{level:2,title:"What's next",slug:"what-s-next"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"10/10/2022, 2:57:25 AM",firstCreatedTimestamp:1665370645e3},{title:"Turning my CodePen into an actual app",frontmatter:{layout:"BlogPost",description:"From a simple idea, what merely looked like a playful demo on CodePen, but turned into a full-fledged app",sidebar:"auto",tag:["brick-1100","sharing","technical"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/from-codepen-to-app.png"},{name:"twitter:title",content:"Turning my CodePen into an actual app"},{name:"twitter:description",content:"From a simple idea, what merely looked like a playful demo on CodePen, but turned into a full-fledged app"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/from-codepen-to-app.png"},{name:"twitter:url",content:"https://visnalize.com/blog/from-codepen-to-app.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Turning my CodePen into an actual app"},{property:"og:description",content:"From a simple idea, what merely looked like a playful demo on CodePen, but turned into a full-fledged app"},{property:"og:image",content:"https://visnalize.com/assets/covers/from-codepen-to-app.png"},{property:"og:url",content:"https://visnalize.com/blog/from-codepen-to-app.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Turning my CodePen into an actual app"},{itemprop:"description",content:"From a simple idea, what merely looked like a playful demo on CodePen, but turned into a full-fledged app"},{itemprop:"image",content:"https://visnalize.com/assets/covers/from-codepen-to-app.png"}]},regularPath:"/blog/from-codepen-to-app.html",relativePath:"blog/from-codepen-to-app.md",key:"v-ff74563c",path:"/blog/from-codepen-to-app.html",headers:[{level:2,title:"A silly idea that got realized",slug:"a-silly-idea-that-got-realized"},{level:2,title:"The making process",slug:"the-making-process"},{level:3,title:"Breaking down the components",slug:"breaking-down-the-components"},{level:3,title:"Adding some twists",slug:"adding-some-twists"},{level:2,title:"Final words",slug:"final-words"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"10/13/2023, 4:23:53 PM",firstCreatedTimestamp:1697214233e3},{title:"Turning my side project into a side hustle",frontmatter:{layout:"BlogPost",description:"From a side project for learning to a side hustle with recurring revenue, read about how I did it, the process, the tools, the tips and tricks.",sidebar:"auto",tag:["sharing","tips","win7-simu"],meta:[{name:"image",content:"https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ="},{name:"twitter:title",content:"Turning my side project into a side hustle"},{name:"twitter:description",content:"From a side project for learning to a side hustle with recurring revenue, read about how I did it, the process, the tools, the tips and tricks."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ="},{name:"twitter:url",content:"https://visnalize.com/blog/from-side-project-to-side-hustle.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Turning my side project into a side hustle"},{property:"og:description",content:"From a side project for learning to a side hustle with recurring revenue, read about how I did it, the process, the tools, the tips and tricks."},{property:"og:image",content:"https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ="},{property:"og:url",content:"https://visnalize.com/blog/from-side-project-to-side-hustle.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Turning my side project into a side hustle"},{itemprop:"description",content:"From a side project for learning to a side hustle with recurring revenue, read about how I did it, the process, the tools, the tips and tricks."},{itemprop:"image",content:"https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ="}]},regularPath:"/blog/from-side-project-to-side-hustle.html",relativePath:"blog/from-side-project-to-side-hustle.md",key:"v-ac7b70bc",path:"/blog/from-side-project-to-side-hustle.html",headers:[{level:2,title:"The beginning",slug:"the-beginning"},{level:3,title:"The idea that started it all",slug:"the-idea-that-started-it-all"},{level:3,title:"Building the surroundings",slug:"building-the-surroundings"},{level:2,title:"A diverse revenue model",slug:"a-diverse-revenue-model"},{level:3,title:"Ads",slug:"ads"},{level:3,title:"Subscriptions",slug:"subscriptions"},{level:3,title:"Partnerships",slug:"partnerships"},{level:2,title:"Disclosing the numbers",slug:"disclosing-the-numbers"},{level:2,title:"Final thoughts",slug:"final-thoughts"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"11/11/2023, 4:58:27 PM",firstCreatedTimestamp:1699721907e3},{title:"How to add more games to Game Stick Lite 4K",frontmatter:{layout:"BlogPost",description:"How to add games to Game Stick Lite 4K and enjoy more of your childhood games",sidebar:"auto",tag:["tips","random"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/game-stick-4k-lite.jpg"},{name:"twitter:title",content:"How to add more games to Game Stick Lite 4K"},{name:"twitter:description",content:"How to add games to Game Stick Lite 4K and enjoy more of your childhood games"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/game-stick-4k-lite.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/game-stick-lite-4k-adding-games.html"},{property:"og:type",content:"article"},{property:"og:title",content:"How to add more games to Game Stick Lite 4K"},{property:"og:description",content:"How to add games to Game Stick Lite 4K and enjoy more of your childhood games"},{property:"og:image",content:"https://visnalize.com/assets/covers/game-stick-4k-lite.jpg"},{property:"og:url",content:"https://visnalize.com/blog/game-stick-lite-4k-adding-games.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"How to add more games to Game Stick Lite 4K"},{itemprop:"description",content:"How to add games to Game Stick Lite 4K and enjoy more of your childhood games"},{itemprop:"image",content:"https://visnalize.com/assets/covers/game-stick-4k-lite.jpg"}]},regularPath:"/blog/game-stick-lite-4k-adding-games.html",relativePath:"blog/game-stick-lite-4k-adding-games.md",key:"v-469b7b80",path:"/blog/game-stick-lite-4k-adding-games.html",headers:[{level:2,title:"Prerequisites",slug:"prerequisites"},{level:2,title:"Step-by-step guide",slug:"step-by-step-guide"}],lastUpdated:"3/10/2024, 8:28:45 AM",lastUpdatedTimestamp:1710059325e3,firstCreated:"3/10/2024, 8:28:45 AM",firstCreatedTimestamp:1710059325e3},{title:"How to get iframes to load any websites",frontmatter:{layout:"BlogPost",description:"The most effective way to get iframes embedded in your web apps to load any websites",sidebar:"auto",tag:["tips","technical","win7-simu"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/load-any-websites-in-iframes.png"},{name:"twitter:title",content:"How to get iframes to load any websites"},{name:"twitter:description",content:"The most effective way to get iframes embedded in your web apps to load any websites"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/load-any-websites-in-iframes.png"},{name:"twitter:url",content:"https://visnalize.com/blog/load-any-websites-in-iframes.html"},{property:"og:type",content:"article"},{property:"og:title",content:"How to get iframes to load any websites"},{property:"og:description",content:"The most effective way to get iframes embedded in your web apps to load any websites"},{property:"og:image",content:"https://visnalize.com/assets/covers/load-any-websites-in-iframes.png"},{property:"og:url",content:"https://visnalize.com/blog/load-any-websites-in-iframes.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"How to get iframes to load any websites"},{itemprop:"description",content:"The most effective way to get iframes embedded in your web apps to load any websites"},{itemprop:"image",content:"https://visnalize.com/assets/covers/load-any-websites-in-iframes.png"}]},regularPath:"/blog/load-any-websites-in-iframes.html",relativePath:"blog/load-any-websites-in-iframes.md",key:"v-4b7e6c3c",path:"/blog/load-any-websites-in-iframes.html",headers:[{level:2,title:"The scenario",slug:"the-scenario"},{level:2,title:"Step-by-step guide",slug:"step-by-step-guide"},{level:3,title:"1. Install Requestly browser extension",slug:"_1-install-requestly-browser-extension"},{level:3,title:"2. Import the predefined rules",slug:"_2-import-the-predefined-rules"},{level:3,title:"3. Enjoy",slug:"_3-enjoy"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"10/24/2022, 8:42:23 AM",firstCreatedTimestamp:1666600943e3},{title:"📝 Blog",frontmatter:{layout:"BlogList",title:"📝 Blog",description:"Helpful insights, sharing, tips and tricks on various topics from Visnalize, the creator of Win7 Simu, Brick 1100, and more",image:"https://image.social/get?url=visnalize.com/blog/",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/blog/"},{name:"twitter:title",content:"📝 Blog"},{name:"twitter:description",content:"Helpful insights, sharing, tips and tricks on various topics from Visnalize, the creator of Win7 Simu, Brick 1100, and more"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/blog/"},{name:"twitter:url",content:"https://visnalize.com/blog/"},{property:"og:type",content:"article"},{property:"og:title",content:"📝 Blog"},{property:"og:description",content:"Helpful insights, sharing, tips and tricks on various topics from Visnalize, the creator of Win7 Simu, Brick 1100, and more"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/blog/"},{property:"og:url",content:"https://visnalize.com/blog/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"📝 Blog"},{itemprop:"description",content:"Helpful insights, sharing, tips and tricks on various topics from Visnalize, the creator of Win7 Simu, Brick 1100, and more"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/blog/"}]},regularPath:"/blog/",relativePath:"blog/readme.md",key:"v-17861269",path:"/blog/",lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"8/4/2021, 2:48:25 AM",firstCreatedTimestamp:1628045305e3},{title:"Simulators and Emulators: What's the difference?",frontmatter:{layout:"BlogPost",description:"Understand the differences between simulators and emulators, what they mean for Win7 Simu.",sidebar:"auto",tag:["tips","sharing","win7-simu"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/simulators-vs-emulators.png"},{name:"twitter:title",content:"Simulators and Emulators: What's the difference?"},{name:"twitter:description",content:"Understand the differences between simulators and emulators, what they mean for Win7 Simu."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/simulators-vs-emulators.png"},{name:"twitter:url",content:"https://visnalize.com/blog/simulator-vs-emulator.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Simulators and Emulators: What's the difference?"},{property:"og:description",content:"Understand the differences between simulators and emulators, what they mean for Win7 Simu."},{property:"og:image",content:"https://visnalize.com/assets/covers/simulators-vs-emulators.png"},{property:"og:url",content:"https://visnalize.com/blog/simulator-vs-emulator.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Simulators and Emulators: What's the difference?"},{itemprop:"description",content:"Understand the differences between simulators and emulators, what they mean for Win7 Simu."},{itemprop:"image",content:"https://visnalize.com/assets/covers/simulators-vs-emulators.png"}]},regularPath:"/blog/simulator-vs-emulator.html",relativePath:"blog/simulator-vs-emulator.md",key:"v-fbbdb2e0",path:"/blog/simulator-vs-emulator.html",headers:[{level:2,title:"What is an Emulator?",slug:"what-is-an-emulator"},{level:2,title:"What is a Simulator?",slug:"what-is-a-simulator"},{level:2,title:"What about Win7 Simu?",slug:"what-about-win7-simu"}],lastUpdated:"2/21/2024, 11:02:25 AM",lastUpdatedTimestamp:1708513345e3,firstCreated:"2/21/2024, 11:02:25 AM",firstCreatedTimestamp:1708513345e3},{title:"Visnalize year in review - 2023",frontmatter:{layout:"BlogPost",description:"Look back at some amazing achievements from Visnalize in 2023.",sidebar:"auto",tag:["win7-simu","brick-1100","review"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1579952775264-625f17561a5d?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"Visnalize year in review - 2023"},{name:"twitter:description",content:"Look back at some amazing achievements from Visnalize in 2023."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1579952775264-625f17561a5d?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/visnalize-year-in-review-2023.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Visnalize year in review - 2023"},{property:"og:description",content:"Look back at some amazing achievements from Visnalize in 2023."},{property:"og:image",content:"https://images.unsplash.com/photo-1579952775264-625f17561a5d?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/visnalize-year-in-review-2023.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Visnalize year in review - 2023"},{itemprop:"description",content:"Look back at some amazing achievements from Visnalize in 2023."},{itemprop:"image",content:"https://images.unsplash.com/photo-1579952775264-625f17561a5d?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/visnalize-year-in-review-2023.html",relativePath:"blog/visnalize-year-in-review-2023.md",key:"v-194e1218",path:"/blog/visnalize-year-in-review-2023.html",headers:[{level:2,title:"The amazing numbers",slug:"the-amazing-numbers"},{level:3,title:"Visnalize(.com)",slug:"visnalize-com"},{level:3,title:"Win7 Simu",slug:"win7-simu"},{level:3,title:"Brick 1100 (Beta)",slug:"brick-1100-beta"},{level:2,title:"Other accomplishments",slug:"other-accomplishments"},{level:3,title:"A new collaborator for Win7 Simu",slug:"a-new-collaborator-for-win7-simu"},{level:3,title:"New feedback channels for Brick 1100",slug:"new-feedback-channels-for-brick-1100"},{level:3,title:"A new chapter in life",slug:"a-new-chapter-in-life"},{level:2,title:"Looking out to 2024",slug:"looking-out-to-2024"}],lastUpdated:"9/5/2024, 4:51:57 PM",lastUpdatedTimestamp:1725555117e3,firstCreated:"1/1/2024, 2:18:12 AM",firstCreatedTimestamp:1704075492e3},{title:"Why you should have a side hustle",frontmatter:{layout:"BlogPost",description:"Some personal sharing about reasons and benefits of having a side hustle.",sidebar:"auto",tag:["sharing","tips"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/why-side-hustle.jpg"},{name:"twitter:title",content:"Why you should have a side hustle"},{name:"twitter:description",content:"Some personal sharing about reasons and benefits of having a side hustle."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/why-side-hustle.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/why-side-hustle.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Why you should have a side hustle"},{property:"og:description",content:"Some personal sharing about reasons and benefits of having a side hustle."},{property:"og:image",content:"https://visnalize.com/assets/covers/why-side-hustle.jpg"},{property:"og:url",content:"https://visnalize.com/blog/why-side-hustle.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Why you should have a side hustle"},{itemprop:"description",content:"Some personal sharing about reasons and benefits of having a side hustle."},{itemprop:"image",content:"https://visnalize.com/assets/covers/why-side-hustle.jpg"}]},regularPath:"/blog/why-side-hustle.html",relativePath:"blog/why-side-hustle.md",key:"v-26dc8250",path:"/blog/why-side-hustle.html",headers:[{level:2,title:"What is a side hustle?",slug:"what-is-a-side-hustle"},{level:2,title:"The benefits",slug:"the-benefits"},{level:3,title:"Extra income",slug:"extra-income"},{level:3,title:"Skill development",slug:"skill-development"},{level:3,title:"Networking",slug:"networking"},{level:3,title:"Job security",slug:"job-security"},{level:2,title:"The challenges",slug:"the-challenges"},{level:3,title:"Time commitment",slug:"time-commitment"},{level:3,title:"Discipline and motivation",slug:"discipline-and-motivation"},{level:2,title:"Conclusion",slug:"conclusion"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"7/14/2024, 6:06:44 AM",firstCreatedTimestamp:1720937204e3},{title:"Windows 7 icon Viewer/Downloader",frontmatter:{layout:"BlogPost",description:"A simple tool to view and download Windows 7 icon collection.",sidebar:"auto",tag:["technical","tools"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/win7-icons-viewer-downloader.jpg"},{name:"twitter:title",content:"Windows 7 icon Viewer/Downloader"},{name:"twitter:description",content:"A simple tool to view and download Windows 7 icon collection."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/win7-icons-viewer-downloader.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-icons-viewer-downloader.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Windows 7 icon Viewer/Downloader"},{property:"og:description",content:"A simple tool to view and download Windows 7 icon collection."},{property:"og:image",content:"https://visnalize.com/assets/covers/win7-icons-viewer-downloader.jpg"},{property:"og:url",content:"https://visnalize.com/blog/win7-icons-viewer-downloader.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Windows 7 icon Viewer/Downloader"},{itemprop:"description",content:"A simple tool to view and download Windows 7 icon collection."},{itemprop:"image",content:"https://visnalize.com/assets/covers/win7-icons-viewer-downloader.jpg"}]},regularPath:"/blog/win7-icons-viewer-downloader.html",relativePath:"blog/win7-icons-viewer-downloader.md",key:"v-1131db82",path:"/blog/win7-icons-viewer-downloader.html",headers:[{level:2,title:"How to use",slug:"how-to-use"},{level:2,title:"Technical stuff",slug:"technical-stuff"},{level:3,title:"Github as a CMS",slug:"github-as-a-cms"},{level:3,title:"The familiar front-end stack",slug:"the-familiar-front-end-stack"}],lastUpdated:"6/26/2023, 12:53:04 PM",lastUpdatedTimestamp:1687783984e3,firstCreated:"11/6/2022, 4:04:36 AM",firstCreatedTimestamp:1667707476e3},{title:"Implementing File Explorer in Win7 Simu",frontmatter:{layout:"BlogPost",description:"Some key points to share about how Win7 Simu's File Explorer is implemented.",sidebar:"auto",tag:["sharing","win7-simu","technical"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"Implementing File Explorer in Win7 Simu"},{name:"twitter:description",content:"Some key points to share about how Win7 Simu's File Explorer is implemented."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-simu-file-explorer.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Implementing File Explorer in Win7 Simu"},{property:"og:description",content:"Some key points to share about how Win7 Simu's File Explorer is implemented."},{property:"og:image",content:"https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/win7-simu-file-explorer.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Implementing File Explorer in Win7 Simu"},{itemprop:"description",content:"Some key points to share about how Win7 Simu's File Explorer is implemented."},{itemprop:"image",content:"https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/win7-simu-file-explorer.html",relativePath:"blog/win7-simu-file-explorer.md",key:"v-4182c7bc",path:"/blog/win7-simu-file-explorer.html",headers:[{level:2,title:"Some difficulties",slug:"some-difficulties"},{level:2,title:"Implementing the File Explorer functionalities",slug:"implementing-the-file-explorer-functionalities"},{level:3,title:"Implementation for Android",slug:"implementation-for-android"},{level:3,title:"Implementation for Web",slug:"implementation-for-web"},{level:2,title:"So, what's next",slug:"so-what-s-next"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"5/26/2023, 12:11:38 PM",firstCreatedTimestamp:1685103098e3},{title:"Win7 Simu versus mobile devices",frontmatter:{layout:"BlogPost",description:"How to install Win7 Simu on mobile devices without downloading from any App Stores.",sidebar:"auto",tag:["win7-simu","tips"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"Win7 Simu versus mobile devices"},{name:"twitter:description",content:"How to install Win7 Simu on mobile devices without downloading from any App Stores."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-simu-mobile-devices.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu versus mobile devices"},{property:"og:description",content:"How to install Win7 Simu on mobile devices without downloading from any App Stores."},{property:"og:image",content:"https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/win7-simu-mobile-devices.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu versus mobile devices"},{itemprop:"description",content:"How to install Win7 Simu on mobile devices without downloading from any App Stores."},{itemprop:"image",content:"https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/win7-simu-mobile-devices.html",relativePath:"blog/win7-simu-mobile-devices.md",key:"v-44a529fc",path:"/blog/win7-simu-mobile-devices.html",headers:[{level:2,title:"Step-by-step guide",slug:"step-by-step-guide"},{level:3,title:"1. Open Win7 Simu with Safari",slug:"_1-open-win7-simu-with-safari"},{level:3,title:"2. Add to Home Screen",slug:"_2-add-to-home-screen"},{level:3,title:"3. Enjoy",slug:"_3-enjoy"},{level:2,title:"Some notes",slug:"some-notes"}],lastUpdated:"6/26/2023, 12:53:04 PM",lastUpdatedTimestamp:1687783984e3,firstCreated:"3/27/2023, 3:25:55 PM",firstCreatedTimestamp:1679930755e3},{title:"Implementing Windows Media Center in Win7 Simu",frontmatter:{layout:"BlogPost",description:"Sharing on how Windows Media Center was implemented in Win7 Simu.",sidebar:"auto",tag:["sharing","win7-simu","technical"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/win7-simu-windows-media-center.jpg"},{name:"twitter:title",content:"Implementing Windows Media Center in Win7 Simu"},{name:"twitter:description",content:"Sharing on how Windows Media Center was implemented in Win7 Simu."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/win7-simu-windows-media-center.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-simu-windows-media-center.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Implementing Windows Media Center in Win7 Simu"},{property:"og:description",content:"Sharing on how Windows Media Center was implemented in Win7 Simu."},{property:"og:image",content:"https://visnalize.com/assets/covers/win7-simu-windows-media-center.jpg"},{property:"og:url",content:"https://visnalize.com/blog/win7-simu-windows-media-center.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Implementing Windows Media Center in Win7 Simu"},{itemprop:"description",content:"Sharing on how Windows Media Center was implemented in Win7 Simu."},{itemprop:"image",content:"https://visnalize.com/assets/covers/win7-simu-windows-media-center.jpg"}]},regularPath:"/blog/win7-simu-windows-media-center.html",relativePath:"blog/win7-simu-windows-media-center.md",key:"v-bfc8be7c",path:"/blog/win7-simu-windows-media-center.html",headers:[{level:2,title:"The Scope",slug:"the-scope"},{level:2,title:"The Implementation",slug:"the-implementation"},{level:3,title:"Resource Files",slug:"resource-files"},{level:3,title:"The Intro Screen",slug:"the-intro-screen"},{level:3,title:"The Home Screen",slug:"the-home-screen"},{level:3,title:"The Photos + Videos Libraries",slug:"the-photos-videos-libraries"},{level:3,title:"The Music Library",slug:"the-music-library"},{level:2,title:"The Future?",slug:"the-future"}],lastUpdated:"4/15/2024, 12:21:04 PM",lastUpdatedTimestamp:1713183664e3,firstCreated:"4/15/2024, 12:16:47 PM",firstCreatedTimestamp:1713183407e3},{title:"Win7 Simu year in review - 2022",frontmatter:{layout:"BlogPost",description:"Look back at some amazing numbers for Win7 Simu in 2022.",sidebar:"auto",tag:["win7-simu","review"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"Win7 Simu year in review - 2022"},{name:"twitter:description",content:"Look back at some amazing numbers for Win7 Simu in 2022."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-simu-year-in-review-2022.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu year in review - 2022"},{property:"og:description",content:"Look back at some amazing numbers for Win7 Simu in 2022."},{property:"og:image",content:"https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/win7-simu-year-in-review-2022.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu year in review - 2022"},{itemprop:"description",content:"Look back at some amazing numbers for Win7 Simu in 2022."},{itemprop:"image",content:"https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/win7-simu-year-in-review-2022.html",relativePath:"blog/win7-simu-year-in-review-2022.md",key:"v-3424310c",path:"/blog/win7-simu-year-in-review-2022.html",headers:[{level:2,title:"The amazing numbers",slug:"the-amazing-numbers"},{level:2,title:"Other interesting statistics",slug:"other-interesting-statistics"},{level:3,title:"Countries overview",slug:"countries-overview"},{level:3,title:"Devices overview",slug:"devices-overview"},{level:2,title:"Looking out to 2023",slug:"looking-out-to-2023"}],lastUpdated:"6/26/2023, 12:53:04 PM",lastUpdatedTimestamp:1687783984e3,firstCreated:"1/1/2023, 5:40:40 AM",firstCreatedTimestamp:167255164e4},{title:"Introducing Win7 UI",frontmatter:{layout:"BlogPost",description:"The open-source UI library that powers Win7 Simu behind the scenes.",sidebar:"auto",tag:["technical","tools"],meta:[{name:"image",content:"https://visnalize.com/assets/covers/win7-ui-hero.jpg"},{name:"twitter:title",content:"Introducing Win7 UI"},{name:"twitter:description",content:"The open-source UI library that powers Win7 Simu behind the scenes."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/win7-ui-hero.jpg"},{name:"twitter:url",content:"https://visnalize.com/blog/win7-ui-introduction.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Introducing Win7 UI"},{property:"og:description",content:"The open-source UI library that powers Win7 Simu behind the scenes."},{property:"og:image",content:"https://visnalize.com/assets/covers/win7-ui-hero.jpg"},{property:"og:url",content:"https://visnalize.com/blog/win7-ui-introduction.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Introducing Win7 UI"},{itemprop:"description",content:"The open-source UI library that powers Win7 Simu behind the scenes."},{itemprop:"image",content:"https://visnalize.com/assets/covers/win7-ui-hero.jpg"}]},regularPath:"/blog/win7-ui-introduction.html",relativePath:"blog/win7-ui-introduction.md",key:"v-72bfdbc2",path:"/blog/win7-ui-introduction.html",headers:[{level:2,title:"The introduction",slug:"the-introduction"},{level:2,title:"Technical stuff in-depth",slug:"technical-stuff-in-depth"},{level:3,title:"The component library",slug:"the-component-library"},{level:3,title:"The documentation site",slug:"the-documentation-site"},{level:2,title:"What to expect in the future",slug:"what-to-expect-in-the-future"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"8/20/2023, 8:34:48 AM",firstCreatedTimestamp:1692520488e3},{title:"How to get Windows resources",frontmatter:{layout:"BlogPost",description:"Ways that you can retrieve Windows resources such as wallpapers, icons, audio files etc.",sidebar:"auto",tag:["win7-simu","tips"],meta:[{name:"image",content:"https://images.unsplash.com/photo-1624571409108-e9a41746af53?auto=format&fit=crop&w=740&q=80"},{name:"twitter:title",content:"How to get Windows resources"},{name:"twitter:description",content:"Ways that you can retrieve Windows resources such as wallpapers, icons, audio files etc."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://images.unsplash.com/photo-1624571409108-e9a41746af53?auto=format&fit=crop&w=740&q=80"},{name:"twitter:url",content:"https://visnalize.com/blog/windows-resources.html"},{property:"og:type",content:"article"},{property:"og:title",content:"How to get Windows resources"},{property:"og:description",content:"Ways that you can retrieve Windows resources such as wallpapers, icons, audio files etc."},{property:"og:image",content:"https://images.unsplash.com/photo-1624571409108-e9a41746af53?auto=format&fit=crop&w=740&q=80"},{property:"og:url",content:"https://visnalize.com/blog/windows-resources.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"How to get Windows resources"},{itemprop:"description",content:"Ways that you can retrieve Windows resources such as wallpapers, icons, audio files etc."},{itemprop:"image",content:"https://images.unsplash.com/photo-1624571409108-e9a41746af53?auto=format&fit=crop&w=740&q=80"}]},regularPath:"/blog/windows-resources.html",relativePath:"blog/windows-resources.md",key:"v-301172dc",path:"/blog/windows-resources.html",headers:[{level:2,title:"Searching around",slug:"searching-around"},{level:2,title:"Extracting icons from .dll files",slug:"extracting-icons-from-dll-files"},{level:2,title:"Summary",slug:"summary"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"8/4/2021, 2:48:25 AM",firstCreatedTimestamp:1628045305e3},{title:"What is Brick 1100?",frontmatter:{layout:"WithComments",title:"What is Brick 1100?",description:"A simulation of the Nokia 1100 mobile phone. Experience it on your smartphone/web browser",sidebar:!1,image:"https://image.social/get?url=visnalize.com/brick1100/about.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/brick1100/about.html"},{name:"twitter:title",content:"What is Brick 1100?"},{name:"twitter:description",content:"A simulation of the Nokia 1100 mobile phone. Experience it on your smartphone/web browser"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/brick1100/about.html"},{name:"twitter:url",content:"https://visnalize.com/brick1100/about.html"},{property:"og:type",content:"article"},{property:"og:title",content:"What is Brick 1100?"},{property:"og:description",content:"A simulation of the Nokia 1100 mobile phone. Experience it on your smartphone/web browser"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/brick1100/about.html"},{property:"og:url",content:"https://visnalize.com/brick1100/about.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"What is Brick 1100?"},{itemprop:"description",content:"A simulation of the Nokia 1100 mobile phone. Experience it on your smartphone/web browser"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/brick1100/about.html"}]},regularPath:"/brick1100/about.html",relativePath:"brick1100/about.md",key:"v-6796123c",path:"/brick1100/about.html",headers:[{level:2,title:"Interesting facts and history",slug:"interesting-facts-and-history"},{level:2,title:"Why Brick 1100?",slug:"why-brick-1100"},{level:2,title:"Features",slug:"features"}],lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"7/17/2021, 2:35:57 PM",firstCreatedTimestamp:1626532557e3},{title:"Brick 1100 Builders",frontmatter:{layout:"BlogPost",description:"Discover how to build your own apps and games on Brick 1100. Develop and share your creations with fellow Brick 1100 users.",meta:[{name:"image",content:"https://visnalize.com/assets/covers/builders.jpg"},{name:"twitter:title",content:"Brick 1100 Builders"},{name:"twitter:description",content:"Discover how to build your own apps and games on Brick 1100. Develop and share your creations with fellow Brick 1100 users."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/covers/builders.jpg"},{name:"twitter:url",content:"https://visnalize.com/brick1100/builders.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Brick 1100 Builders"},{property:"og:description",content:"Discover how to build your own apps and games on Brick 1100. Develop and share your creations with fellow Brick 1100 users."},{property:"og:image",content:"https://visnalize.com/assets/covers/builders.jpg"},{property:"og:url",content:"https://visnalize.com/brick1100/builders.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Brick 1100 Builders"},{itemprop:"description",content:"Discover how to build your own apps and games on Brick 1100. Develop and share your creations with fellow Brick 1100 users."},{itemprop:"image",content:"https://visnalize.com/assets/covers/builders.jpg"}]},regularPath:"/brick1100/builders.html",relativePath:"brick1100/builders.md",key:"v-3692f0a2",path:"/brick1100/builders.html",headers:[{level:2,title:"Understanding how it works",slug:"understanding-how-it-works"},{level:3,title:"The nature of Brick 1100",slug:"the-nature-of-brick-1100"},{level:3,title:"Bridge 1100",slug:"bridge-1100"},{level:2,title:"Step-by-step guide",slug:"step-by-step-guide"}],lastUpdated:"9/8/2024, 4:39:40 PM",lastUpdatedTimestamp:172581358e4,firstCreated:"9/8/2024, 4:27:05 PM",firstCreatedTimestamp:1725812825e3},{title:"Brick 1100 Changelog",frontmatter:{title:"Brick 1100 Changelog",description:"Changes throughout the versions of the Brick 1100 app. Check the log at this page.",sidebar:"auto",pageClass:"changelog",image:"https://image.social/get?url=visnalize.com/brick1100/changelog.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/brick1100/changelog.html"},{name:"twitter:title",content:"Brick 1100 Changelog"},{name:"twitter:description",content:"Changes throughout the versions of the Brick 1100 app. Check the log at this page."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/brick1100/changelog.html"},{name:"twitter:url",content:"https://visnalize.com/brick1100/changelog.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Brick 1100 Changelog"},{property:"og:description",content:"Changes throughout the versions of the Brick 1100 app. Check the log at this page."},{property:"og:image",content:"https://image.social/get?url=visnalize.com/brick1100/changelog.html"},{property:"og:url",content:"https://visnalize.com/brick1100/changelog.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Brick 1100 Changelog"},{itemprop:"description",content:"Changes throughout the versions of the Brick 1100 app. Check the log at this page."},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/brick1100/changelog.html"}]},regularPath:"/brick1100/changelog.html",relativePath:"brick1100/changelog.md",key:"v-84d6517c",path:"/brick1100/changelog.html",headers:[{level:2,title:"Beta versions",slug:"beta-versions"},{level:3,title:"0.0.13 (Sep 24, 2024)",slug:"_0-0-13-sep-24-2024"},{level:3,title:"0.0.12 (Sep 22, 2024)",slug:"_0-0-12-sep-22-2024"},{level:3,title:"0.0.11 (Aug 17, 2024)",slug:"_0-0-11-aug-17-2024"},{level:3,title:"0.0.10 (Aug 10, 2024)",slug:"_0-0-10-aug-10-2024"},{level:3,title:"0.0.9 (Jun 24, 2024)",slug:"_0-0-9-jun-24-2024"},{level:3,title:"0.0.8 (Dec 2, 2023)",slug:"_0-0-8-dec-2-2023"},{level:3,title:"0.0.7 (Nov 4, 2023)",slug:"_0-0-7-nov-4-2023"},{level:3,title:"0.0.6 (Oct 16, 2023)",slug:"_0-0-6-oct-16-2023"},{level:3,title:"0.0.5 (Sep 30, 2023)",slug:"_0-0-5-sep-30-2023"},{level:3,title:"0.0.4 (Sep 27, 2023)",slug:"_0-0-4-sep-27-2023"},{level:3,title:"0.0.3 (Sep 26, 2023)",slug:"_0-0-3-sep-26-2023"},{level:3,title:"0.0.2 (Sep 26, 2023)",slug:"_0-0-2-sep-26-2023"},{level:3,title:"0.0.1 (Sep 26, 2023)",slug:"_0-0-1-sep-26-2023"}],lastUpdated:"9/25/2024, 1:00:10 AM",lastUpdatedTimestamp:172722601e4,firstCreated:"9/24/2023, 2:57:02 AM",firstCreatedTimestamp:1695524222e3},{title:"Brick 1100 deep links",frontmatter:{layout:"BlogPost",description:"Explore deep links available in Brick 1100. Take shortcuts to your favorite sections or share them with others",image:"https://image.social/get?url=visnalize.com/brick1100/deep-links.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/brick1100/deep-links.html"},{name:"twitter:title",content:"Brick 1100 deep links"},{name:"twitter:description",content:"Explore deep links available in Brick 1100. Take shortcuts to your favorite sections or share them with others"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/brick1100/deep-links.html"},{name:"twitter:url",content:"https://visnalize.com/brick1100/deep-links.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Brick 1100 deep links"},{property:"og:description",content:"Explore deep links available in Brick 1100. Take shortcuts to your favorite sections or share them with others"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/brick1100/deep-links.html"},{property:"og:url",content:"https://visnalize.com/brick1100/deep-links.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Brick 1100 deep links"},{itemprop:"description",content:"Explore deep links available in Brick 1100. Take shortcuts to your favorite sections or share them with others"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/brick1100/deep-links.html"}]},regularPath:"/brick1100/deep-links.html",relativePath:"brick1100/deep-links.md",key:"v-16be053c",path:"/brick1100/deep-links.html",headers:[{level:2,title:"Available links",slug:"available-links"}],lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"11/4/2023, 8:22:26 AM",firstCreatedTimestamp:1699086146e3},{title:"Brick 1100 Games",frontmatter:{layout:"BlogPost",description:"Play the classic games on Brick 1100. Snake, Brick Breaker, Chrome Dino, Monogram and more",image:"https://image.social/get?url=visnalize.com/brick1100/games.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/brick1100/games.html"},{name:"twitter:title",content:"Brick 1100 Games"},{name:"twitter:description",content:"Play the classic games on Brick 1100. Snake, Brick Breaker, Chrome Dino, Monogram and more"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/brick1100/games.html"},{name:"twitter:url",content:"https://visnalize.com/brick1100/games.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Brick 1100 Games"},{property:"og:description",content:"Play the classic games on Brick 1100. Snake, Brick Breaker, Chrome Dino, Monogram and more"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/brick1100/games.html"},{property:"og:url",content:"https://visnalize.com/brick1100/games.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Brick 1100 Games"},{itemprop:"description",content:"Play the classic games on Brick 1100. Snake, Brick Breaker, Chrome Dino, Monogram and more"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/brick1100/games.html"}]},regularPath:"/brick1100/games.html",relativePath:"brick1100/games.md",key:"v-7716093c",path:"/brick1100/games.html",headers:[{level:2,title:"Snake",slug:"snake"},{level:2,title:"Brick Breaker",slug:"brick-breaker"},{level:2,title:"Chrome Dino",slug:"chrome-dino"},{level:2,title:"Monogram",slug:"monogram"}],lastUpdated:"9/5/2024, 4:51:57 PM",lastUpdatedTimestamp:1725555117e3,firstCreated:"11/4/2023, 8:22:26 AM",firstCreatedTimestamp:1699086146e3},{title:"Brick 1100 Privacy Policy",frontmatter:{title:"Brick 1100 Privacy Policy",sidebar:"auto",image:"https://image.social/get?url=visnalize.com/brick1100/privacy.html",description:"",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/brick1100/privacy.html"},{name:"twitter:title",content:"Brick 1100 Privacy Policy"},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/brick1100/privacy.html"},{name:"twitter:url",content:"https://visnalize.com/brick1100/privacy.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Brick 1100 Privacy Policy"},{property:"og:description",content:""},{property:"og:image",content:"https://image.social/get?url=visnalize.com/brick1100/privacy.html"},{property:"og:url",content:"https://visnalize.com/brick1100/privacy.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Brick 1100 Privacy Policy"},{itemprop:"description",content:""},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/brick1100/privacy.html"}]},regularPath:"/brick1100/privacy.html",relativePath:"brick1100/privacy.md",key:"v-2af59a42",path:"/brick1100/privacy.html",headers:[{level:2,title:"Information Collection and Use",slug:"information-collection-and-use"},{level:2,title:"Log Data",slug:"log-data"},{level:2,title:"Cookies",slug:"cookies"},{level:2,title:"Service Providers",slug:"service-providers"},{level:2,title:"Security",slug:"security"},{level:2,title:"Links to Other Sites",slug:"links-to-other-sites"},{level:2,title:"Children's Privacy",slug:"children-s-privacy"},{level:2,title:"Changes to This Privacy Policy",slug:"changes-to-this-privacy-policy"},{level:2,title:"Contact Us",slug:"contact-us"}],lastUpdated:"6/1/2024, 6:49:33 AM",lastUpdatedTimestamp:1717224573e3,firstCreated:"9/24/2023, 2:57:02 AM",firstCreatedTimestamp:1695524222e3},{frontmatter:{description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/contact.html"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/contact.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/contact.html",relativePath:"contact.md",key:"v-6cc96c82",path:"/contact.html",lastUpdated:"11/2/2023, 5:52:36 PM",lastUpdatedTimestamp:1698947556e3,firstCreated:"11/2/2023, 5:48:31 PM",firstCreatedTimestamp:1698947311e3},{frontmatter:{description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/brick1100/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/brick1100/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/brick1100/",relativePath:"brick1100/index.md",key:"v-6444650a",path:"/brick1100/",lastUpdated:"11/2/2023, 5:52:36 PM",lastUpdatedTimestamp:1698947556e3,firstCreated:"11/2/2023, 5:48:31 PM",firstCreatedTimestamp:1698947311e3},{title:"What is Win7 Simu?",frontmatter:{layout:"WithComments",title:"What is Win7 Simu?",description:"A recreation of the Windows 7 operating system on the Web/Android platform, brings back the nostalgia with the elegant Aero interface",sidebar:!1,image:"https://image.social/get?url=visnalize.com/win7simu/about.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/win7simu/about.html"},{name:"twitter:title",content:"What is Win7 Simu?"},{name:"twitter:description",content:"A recreation of the Windows 7 operating system on the Web/Android platform, brings back the nostalgia with the elegant Aero interface"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/win7simu/about.html"},{name:"twitter:url",content:"https://visnalize.com/win7simu/about.html"},{property:"og:type",content:"article"},{property:"og:title",content:"What is Win7 Simu?"},{property:"og:description",content:"A recreation of the Windows 7 operating system on the Web/Android platform, brings back the nostalgia with the elegant Aero interface"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/win7simu/about.html"},{property:"og:url",content:"https://visnalize.com/win7simu/about.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"What is Win7 Simu?"},{itemprop:"description",content:"A recreation of the Windows 7 operating system on the Web/Android platform, brings back the nostalgia with the elegant Aero interface"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/win7simu/about.html"}]},regularPath:"/win7simu/about.html",relativePath:"win7simu/about.md",key:"v-08727ec0",path:"/win7simu/about.html",headers:[{level:2,title:"Features",slug:"features"},{level:2,title:"Pricing",slug:"pricing"},{level:2,title:"A bit of the history",slug:"a-bit-of-the-history"}],lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"7/5/2021, 2:24:45 PM",firstCreatedTimestamp:1625495085e3},{title:"Win7 Simu Changelog",frontmatter:{title:"Win7 Simu Changelog",description:"Curious about the changes done through versions of the Win7 Simu app? Check the log at this page",sidebar:"auto",pageClass:"changelog",image:"https://image.social/get?url=visnalize.com/win7simu/changelog.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/win7simu/changelog.html"},{name:"twitter:title",content:"Win7 Simu Changelog"},{name:"twitter:description",content:"Curious about the changes done through versions of the Win7 Simu app? Check the log at this page"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/win7simu/changelog.html"},{name:"twitter:url",content:"https://visnalize.com/win7simu/changelog.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu Changelog"},{property:"og:description",content:"Curious about the changes done through versions of the Win7 Simu app? Check the log at this page"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/win7simu/changelog.html"},{property:"og:url",content:"https://visnalize.com/win7simu/changelog.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu Changelog"},{itemprop:"description",content:"Curious about the changes done through versions of the Win7 Simu app? Check the log at this page"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/win7simu/changelog.html"}]},regularPath:"/win7simu/changelog.html",relativePath:"win7simu/changelog.md",key:"v-ba31739c",path:"/win7simu/changelog.html",headers:[{level:2,title:"2024",slug:"_2024"},{level:3,title:"3.13.1 (Sep 14, 2024)",slug:"_3-13-1-sep-14-2024"},{level:3,title:"3.13.0 (Sep 8, 2024)",slug:"_3-13-0-sep-8-2024"},{level:3,title:"3.12.1 (Aug 24, 2024)",slug:"_3-12-1-aug-24-2024"},{level:3,title:"3.12.0 (Aug 13, 2024)",slug:"_3-12-0-aug-13-2024"},{level:3,title:"3.11.2 (June 20, 2024)",slug:"_3-11-2-june-20-2024"},{level:3,title:"3.11.1 (June 19, 2024)",slug:"_3-11-1-june-19-2024"},{level:3,title:"3.11.0 (June 18, 2024)",slug:"_3-11-0-june-18-2024"},{level:3,title:"3.10.0 (June 7, 2024)",slug:"_3-10-0-june-7-2024"},{level:3,title:"3.9.0 (Apr 13, 2024)",slug:"_3-9-0-apr-13-2024"},{level:3,title:"3.8.1 (Jan 29, 2024)",slug:"_3-8-1-jan-29-2024"},{level:3,title:"3.8.0 (Jan 29, 2024)",slug:"_3-8-0-jan-29-2024"},{level:3,title:"3.7.0 (Jan 14, 2024)",slug:"_3-7-0-jan-14-2024"},{level:2,title:"2023",slug:"_2023"},{level:3,title:"3.6.1 (Dec 28, 2023)",slug:"_3-6-1-dec-28-2023"},{level:3,title:"3.6.0 (Dec 24, 2023)",slug:"_3-6-0-dec-24-2023"},{level:3,title:"3.5.0 (Nov 19, 2023)",slug:"_3-5-0-nov-19-2023"},{level:3,title:"3.4.0 (Oct 6, 2023)",slug:"_3-4-0-oct-6-2023"},{level:3,title:"3.3.1 (Aug 4, 2023)",slug:"_3-3-1-aug-4-2023"},{level:3,title:"3.3.0 (Aug 3, 2023)",slug:"_3-3-0-aug-3-2023"},{level:3,title:"3.2.0 (Jul 25, 2023)",slug:"_3-2-0-jul-25-2023"},{level:3,title:"3.1.0 (Jul 10, 2023)",slug:"_3-1-0-jul-10-2023"},{level:3,title:"3.0.4 (Jun 24, 2023)",slug:"_3-0-4-jun-24-2023"},{level:3,title:"3.0.3 (Jun 10, 2023)",slug:"_3-0-3-jun-10-2023"},{level:3,title:"3.0.2 (May 23, 2023)",slug:"_3-0-2-may-23-2023"},{level:3,title:"3.0.1 (May 21, 2023)",slug:"_3-0-1-may-21-2023"},{level:3,title:"3.0.0 (May 20, 2023)",slug:"_3-0-0-may-20-2023"},{level:3,title:"2.28.0 (Apr 5, 2023)",slug:"_2-28-0-apr-5-2023"},{level:3,title:"2.27.0 (Mar 13, 2023)",slug:"_2-27-0-mar-13-2023"},{level:3,title:"2.26.2 (Feb 24, 2023)",slug:"_2-26-2-feb-24-2023"},{level:3,title:"2.26.1 (Feb 23, 2023)",slug:"_2-26-1-feb-23-2023"},{level:3,title:"2.26.0 (Feb 19, 2023)",slug:"_2-26-0-feb-19-2023"},{level:2,title:"2022",slug:"_2022"},{level:3,title:"2.25.0 (Dec 29, 2022)",slug:"_2-25-0-dec-29-2022"},{level:3,title:"2.24.0 (Nov 19, 2022)",slug:"_2-24-0-nov-19-2022"},{level:3,title:"2.23.1 (Sep 30, 2022)",slug:"_2-23-1-sep-30-2022"},{level:3,title:"2.23.2 (Oct 15, 2022)",slug:"_2-23-2-oct-15-2022"},{level:3,title:"2.23.0 (Sep 25, 2022)",slug:"_2-23-0-sep-25-2022"},{level:3,title:"2.22.2 (Sep 10, 2022)",slug:"_2-22-2-sep-10-2022"},{level:3,title:"2.22.1 (Aug 6, 2022)",slug:"_2-22-1-aug-6-2022"},{level:3,title:"2.22.0 (Aug 6, 2022)",slug:"_2-22-0-aug-6-2022"},{level:3,title:"2.21.0 (Jun 10, 2022)",slug:"_2-21-0-jun-10-2022"},{level:3,title:"2.20.0 (Jan 4, 2022)",slug:"_2-20-0-jan-4-2022"},{level:2,title:"2021",slug:"_2021"},{level:3,title:"2.19.0 (Nov 7, 2021)",slug:"_2-19-0-nov-7-2021"},{level:3,title:"2.18.0 (Oct 15, 2021)",slug:"_2-18-0-oct-15-2021"},{level:3,title:"2.17.0 (Oct 3, 2021)",slug:"_2-17-0-oct-3-2021"},{level:3,title:"2.16.0 (Sep 18, 2021)",slug:"_2-16-0-sep-18-2021"},{level:3,title:"2.15.0 (Sep 8, 2021)",slug:"_2-15-0-sep-8-2021"},{level:3,title:"2.14.0 (Aug 28, 2021)",slug:"_2-14-0-aug-28-2021"},{level:3,title:"2.13.0 (Aug 18, 2021)",slug:"_2-13-0-aug-18-2021"},{level:3,title:"2.12.0 (Aug 7, 2021)",slug:"_2-12-0-aug-7-2021"},{level:3,title:"2.11.1 (Jul 27, 2021)",slug:"_2-11-1-jul-27-2021"},{level:3,title:"2.11.0 (Jul 23, 2021)",slug:"_2-11-0-jul-23-2021"},{level:3,title:"2.10.0 (Jul 4, 2021)",slug:"_2-10-0-jul-4-2021"},{level:3,title:"2.9.0 (Jun 21, 2021)",slug:"_2-9-0-jun-21-2021"},{level:3,title:"2.8.0 (Jun 10, 2021)",slug:"_2-8-0-jun-10-2021"},{level:3,title:"2.7.0 (May 23, 2021)",slug:"_2-7-0-may-23-2021"},{level:3,title:"2.6.0 (May 14, 2021)",slug:"_2-6-0-may-14-2021"},{level:3,title:"2.5.0 (Apr 29, 2021)",slug:"_2-5-0-apr-29-2021"},{level:3,title:"2.4.0 (Apr 15, 2021)",slug:"_2-4-0-apr-15-2021"},{level:2,title:"2020",slug:"_2020"},{level:3,title:"2.3.3 (Aug 18, 2020)",slug:"_2-3-3-aug-18-2020"},{level:3,title:"2.3.2 (Aug 16, 2020)",slug:"_2-3-2-aug-16-2020"},{level:3,title:"2.3.1 (Jul 31, 2020)",slug:"_2-3-1-jul-31-2020"},{level:3,title:"2.3 (Jul 22, 2020)",slug:"_2-3-jul-22-2020"},{level:3,title:"2.2 (Jul 11, 2020)",slug:"_2-2-jul-11-2020"},{level:3,title:"2.1 (Jun 13, 2020)",slug:"_2-1-jun-13-2020"},{level:3,title:"2.0 (May 30, 2020)",slug:"_2-0-may-30-2020"},{level:3,title:"1.2.2 (May 9, 2020)",slug:"_1-2-2-may-9-2020"},{level:3,title:"1.2.1 (May 3, 2020)",slug:"_1-2-1-may-3-2020"},{level:3,title:"1.2 (Apr 16, 2020)",slug:"_1-2-apr-16-2020"},{level:3,title:"1.1 (Feb 27, 2020)",slug:"_1-1-feb-27-2020"},{level:3,title:"1.0 (Feb 16, 2020)",slug:"_1-0-feb-16-2020"}],lastUpdated:"9/15/2024, 12:18:47 AM",lastUpdatedTimestamp:1726359527e3,firstCreated:"7/7/2021, 2:18:59 AM",firstCreatedTimestamp:1625624339e3},{title:"Win7 Simu Frequently Asked Questions",frontmatter:{title:"Win7 Simu Frequently Asked Questions",description:"Have questions in regards to the Win7 Simu app? This page answers them, immediate and straightforward",layout:"WithComments",sidebar:"auto",image:"https://image.social/get?url=visnalize.com/win7simu/faq.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/win7simu/faq.html"},{name:"twitter:title",content:"Win7 Simu Frequently Asked Questions"},{name:"twitter:description",content:"Have questions in regards to the Win7 Simu app? This page answers them, immediate and straightforward"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/win7simu/faq.html"},{name:"twitter:url",content:"https://visnalize.com/win7simu/faq.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu Frequently Asked Questions"},{property:"og:description",content:"Have questions in regards to the Win7 Simu app? This page answers them, immediate and straightforward"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/win7simu/faq.html"},{property:"og:url",content:"https://visnalize.com/win7simu/faq.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu Frequently Asked Questions"},{itemprop:"description",content:"Have questions in regards to the Win7 Simu app? This page answers them, immediate and straightforward"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/win7simu/faq.html"}]},regularPath:"/win7simu/faq.html",relativePath:"win7simu/faq.md",key:"v-8cd4b9a4",path:"/win7simu/faq.html",headers:[{level:2,title:"1. Simulator features",slug:"_1-simulator-features"},{level:3,title:"Can I install exe files/Windows programs on this?",slug:"can-i-install-exe-files-windows-programs-on-this"},{level:3,title:"Can you implement the mouse control in the same way as the Win98 Simulator?",slug:"can-you-implement-the-mouse-control-in-the-same-way-as-the-win98-simulator"},{level:3,title:"IE and Chrome cannot connect to the internet. Can you fix them?",slug:"ie-and-chrome-cannot-connect-to-the-internet-can-you-fix-them"},{level:3,title:"IE and Chrome are too slow. Can you fix them?",slug:"ie-and-chrome-are-too-slow-can-you-fix-them"},{level:3,title:"IE and Chrome cannot download files/programs. Can you fix them?",slug:"ie-and-chrome-cannot-download-files-programs-can-you-fix-them"},{level:3,title:"Can you add Microsoft Office?",slug:"can-you-add-microsoft-office"},{level:3,title:"Can you add this feature, that feature and more features?",slug:"can-you-add-this-feature-that-feature-and-more-features"},{level:3,title:"Can I use this simulator as a launcher/home screen?",slug:"can-i-use-this-simulator-as-a-launcher-home-screen"},{level:3,title:"Does this simulator work offline?",slug:"does-this-simulator-work-offline"},{level:2,title:"2. How to use",slug:"_2-how-to-use"},{level:3,title:"How do I create a user account?",slug:"how-do-i-create-a-user-account"},{level:3,title:"I don't know the password. How do I login?",slug:"i-don-t-know-the-password-how-do-i-login"},{level:3,title:"I have forgotten my password. How to recover it?",slug:"i-have-forgotten-my-password-how-to-recover-it"},{level:3,title:"How do I open the desktop menu?",slug:"how-do-i-open-the-desktop-menu"},{level:3,title:"How do I bring programs/apps to desktop?",slug:"how-do-i-bring-programs-apps-to-desktop"},{level:2,title:"3. Miscellaneous",slug:"_3-miscellaneous"},{level:3,title:"Can you remove the ads?",slug:"can-you-remove-the-ads"},{level:3,title:"Can this simulator work on Android versions earlier than 6.0?",slug:"can-this-simulator-work-on-android-versions-earlier-than-6-0"},{level:3,title:"The simulator only shows a black screen on my device. What should I do?",slug:"the-simulator-only-shows-a-black-screen-on-my-device-what-should-i-do"},{level:3,title:"My games/apps are not showing in the Start Menu. What's the problem?",slug:"my-games-apps-are-not-showing-in-the-start-menu-what-s-the-problem"},{level:3,title:"File Explorer does not show files on my device. What's the problem?",slug:"file-explorer-does-not-show-files-on-my-device-what-s-the-problem"},{level:3,title:"Any plan to publish this simulator to App Store?",slug:"any-plan-to-publish-this-simulator-to-app-store"},{level:3,title:"I found a bug in the simulator. How do I report it?",slug:"i-found-a-bug-in-the-simulator-how-do-i-report-it"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"7/5/2021, 2:24:45 PM",firstCreatedTimestamp:1625495085e3},{frontmatter:{description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/win7simu/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/win7simu/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/win7simu/",relativePath:"win7simu/index.md",key:"v-e8bf05a2",path:"/win7simu/",lastUpdated:"11/2/2023, 5:52:36 PM",lastUpdatedTimestamp:1698947556e3,firstCreated:"11/2/2023, 5:48:31 PM",firstCreatedTimestamp:1698947311e3},{title:"Win7 Simu Privacy Policy",frontmatter:{title:"Win7 Simu Privacy Policy",description:"Worry about your privacy while using the Win7 Simu app? This page eases your concern",sidebar:"auto",image:"https://image.social/get?url=visnalize.com/win7simu/privacy.html",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/win7simu/privacy.html"},{name:"twitter:title",content:"Win7 Simu Privacy Policy"},{name:"twitter:description",content:"Worry about your privacy while using the Win7 Simu app? This page eases your concern"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/win7simu/privacy.html"},{name:"twitter:url",content:"https://visnalize.com/win7simu/privacy.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu Privacy Policy"},{property:"og:description",content:"Worry about your privacy while using the Win7 Simu app? This page eases your concern"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/win7simu/privacy.html"},{property:"og:url",content:"https://visnalize.com/win7simu/privacy.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu Privacy Policy"},{itemprop:"description",content:"Worry about your privacy while using the Win7 Simu app? This page eases your concern"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/win7simu/privacy.html"}]},regularPath:"/win7simu/privacy.html",relativePath:"win7simu/privacy.md",key:"v-530b246c",path:"/win7simu/privacy.html",headers:[{level:2,title:"Information Collection and Use",slug:"information-collection-and-use"},{level:2,title:"Log Data",slug:"log-data"},{level:2,title:"Cookies",slug:"cookies"},{level:2,title:"Service Providers",slug:"service-providers"},{level:2,title:"Security",slug:"security"},{level:2,title:"Links to Other Sites",slug:"links-to-other-sites"},{level:2,title:"Children's Privacy",slug:"children-s-privacy"},{level:2,title:"Changes to This Privacy Policy",slug:"changes-to-this-privacy-policy"},{level:2,title:"Contact Us",slug:"contact-us"}],lastUpdated:"6/1/2024, 6:49:33 AM",lastUpdatedTimestamp:1717224573e3,firstCreated:"7/5/2021, 2:24:45 PM",firstCreatedTimestamp:1625495085e3},{title:"BIOS Setup Utility",frontmatter:{layout:"FeaturePage",title:"BIOS Setup Utility",description:"Allows you to view system information and configure supported boot settings for your Win7 Simu",image:"/assets/features/bios.png",version:"2.16.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/bios.png"},{name:"twitter:title",content:"BIOS Setup Utility"},{name:"twitter:description",content:"Allows you to view system information and configure supported boot settings for your Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/bios.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/bios.html"},{property:"og:type",content:"article"},{property:"og:title",content:"BIOS Setup Utility"},{property:"og:description",content:"Allows you to view system information and configure supported boot settings for your Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/bios.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/bios.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"BIOS Setup Utility"},{itemprop:"description",content:"Allows you to view system information and configure supported boot settings for your Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/bios.png"}]},regularPath:"/win7simu/simulated/bios.html",relativePath:"win7simu/simulated/bios.md",key:"v-0d73ba82",path:"/win7simu/simulated/bios.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/30/2024, 10:09:03 AM",firstCreatedTimestamp:1725012543e3},{title:"Calculator",frontmatter:{layout:"FeaturePage",title:"Calculator",description:"Allows you to perform basic arithmetic calculations, such as addition, subtraction, multiplication, and division",image:"/assets/features/calculator.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/calculator.png"},{name:"twitter:title",content:"Calculator"},{name:"twitter:description",content:"Allows you to perform basic arithmetic calculations, such as addition, subtraction, multiplication, and division"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/calculator.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/calculator.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Calculator"},{property:"og:description",content:"Allows you to perform basic arithmetic calculations, such as addition, subtraction, multiplication, and division"},{property:"og:image",content:"https://visnalize.com/assets/features/calculator.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/calculator.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Calculator"},{itemprop:"description",content:"Allows you to perform basic arithmetic calculations, such as addition, subtraction, multiplication, and division"},{itemprop:"image",content:"https://visnalize.com/assets/features/calculator.png"}]},regularPath:"/win7simu/simulated/calculator.html",relativePath:"win7simu/simulated/calculator.md",key:"v-7c23e4bc",path:"/win7simu/simulated/calculator.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Chrome",frontmatter:{layout:"FeaturePage",title:"Chrome",description:"Allows you to browse the web with the Google Chrome browser interface in Win7 Simu",image:"/assets/features/chrome.png",version:"2.8.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/chrome.png"},{name:"twitter:title",content:"Chrome"},{name:"twitter:description",content:"Allows you to browse the web with the Google Chrome browser interface in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/chrome.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/chrome.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Chrome"},{property:"og:description",content:"Allows you to browse the web with the Google Chrome browser interface in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/chrome.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/chrome.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Chrome"},{itemprop:"description",content:"Allows you to browse the web with the Google Chrome browser interface in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/chrome.png"}]},regularPath:"/win7simu/simulated/chrome.html",relativePath:"win7simu/simulated/chrome.md",key:"v-3dbeba22",path:"/win7simu/simulated/chrome.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Command Prompt",frontmatter:{layout:"FeaturePage",title:"Command Prompt",description:"Allows you to perform various tasks, such as running programs, executing commands, and managing files and directories in Win7 Simu",image:"/assets/features/cmd.png",version:"1.1.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/cmd.png"},{name:"twitter:title",content:"Command Prompt"},{name:"twitter:description",content:"Allows you to perform various tasks, such as running programs, executing commands, and managing files and directories in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/cmd.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/cmd.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Command Prompt"},{property:"og:description",content:"Allows you to perform various tasks, such as running programs, executing commands, and managing files and directories in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/cmd.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/cmd.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Command Prompt"},{itemprop:"description",content:"Allows you to perform various tasks, such as running programs, executing commands, and managing files and directories in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/cmd.png"}]},regularPath:"/win7simu/simulated/cmd.html",relativePath:"win7simu/simulated/cmd.md",key:"v-33b74904",path:"/win7simu/simulated/cmd.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"File Explorer",frontmatter:{layout:"FeaturePage",title:"File Explorer",description:"Allows you to manage files and folders in a simulated Windows 7 environment, including creating, deleting, and moving files and folders",image:"/assets/features/fileexplorer.png",version:"3.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/fileexplorer.png"},{name:"twitter:title",content:"File Explorer"},{name:"twitter:description",content:"Allows you to manage files and folders in a simulated Windows 7 environment, including creating, deleting, and moving files and folders"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/fileexplorer.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/fileexplorer.html"},{property:"og:type",content:"article"},{property:"og:title",content:"File Explorer"},{property:"og:description",content:"Allows you to manage files and folders in a simulated Windows 7 environment, including creating, deleting, and moving files and folders"},{property:"og:image",content:"https://visnalize.com/assets/features/fileexplorer.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/fileexplorer.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"File Explorer"},{itemprop:"description",content:"Allows you to manage files and folders in a simulated Windows 7 environment, including creating, deleting, and moving files and folders"},{itemprop:"image",content:"https://visnalize.com/assets/features/fileexplorer.png"}]},regularPath:"/win7simu/simulated/fileexplorer.html",relativePath:"win7simu/simulated/fileexplorer.md",key:"v-6baf4482",path:"/win7simu/simulated/fileexplorer.html",lastUpdated:"9/1/2024, 3:54:23 AM",lastUpdatedTimestamp:1725162863e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Control Panel",frontmatter:{layout:"FeaturePage",title:"Control Panel",description:"Allows you to view and change system settings, install and uninstall programs, manage user accounts, and more in Win7 Simu",image:"/assets/features/cpanel.png",version:"1.1.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/cpanel.png"},{name:"twitter:title",content:"Control Panel"},{name:"twitter:description",content:"Allows you to view and change system settings, install and uninstall programs, manage user accounts, and more in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/cpanel.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/cpanel.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Control Panel"},{property:"og:description",content:"Allows you to view and change system settings, install and uninstall programs, manage user accounts, and more in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/cpanel.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/cpanel.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Control Panel"},{itemprop:"description",content:"Allows you to view and change system settings, install and uninstall programs, manage user accounts, and more in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/cpanel.png"}]},regularPath:"/win7simu/simulated/cpanel.html",relativePath:"win7simu/simulated/cpanel.md",key:"v-1f96767c",path:"/win7simu/simulated/cpanel.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Windows Gadgets",frontmatter:{layout:"FeaturePage",title:"Windows Gadgets",description:"Brings you various gadgets that you can use to enhance your desktop experience in Win7 Simu, such as the Clock, Calendar, Weather, and more",image:"/assets/features/gadgets.png",version:"2.6.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/gadgets.png"},{name:"twitter:title",content:"Windows Gadgets"},{name:"twitter:description",content:"Brings you various gadgets that you can use to enhance your desktop experience in Win7 Simu, such as the Clock, Calendar, Weather, and more"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/gadgets.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/gadgets.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Windows Gadgets"},{property:"og:description",content:"Brings you various gadgets that you can use to enhance your desktop experience in Win7 Simu, such as the Clock, Calendar, Weather, and more"},{property:"og:image",content:"https://visnalize.com/assets/features/gadgets.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/gadgets.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Windows Gadgets"},{itemprop:"description",content:"Brings you various gadgets that you can use to enhance your desktop experience in Win7 Simu, such as the Clock, Calendar, Weather, and more"},{itemprop:"image",content:"https://visnalize.com/assets/features/gadgets.png"}]},regularPath:"/win7simu/simulated/gadgets.html",relativePath:"win7simu/simulated/gadgets.md",key:"v-2ddd3eac",path:"/win7simu/simulated/gadgets.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Internet Explorer",frontmatter:{layout:"FeaturePage",title:"Internet Explorer",description:"Allows you to browse the web, search for information with Bing as the default search engine",image:"/assets/features/ie.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/ie.png"},{name:"twitter:title",content:"Internet Explorer"},{name:"twitter:description",content:"Allows you to browse the web, search for information with Bing as the default search engine"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/ie.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/ie.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Internet Explorer"},{property:"og:description",content:"Allows you to browse the web, search for information with Bing as the default search engine"},{property:"og:image",content:"https://visnalize.com/assets/features/ie.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/ie.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Internet Explorer"},{itemprop:"description",content:"Allows you to browse the web, search for information with Bing as the default search engine"},{itemprop:"image",content:"https://visnalize.com/assets/features/ie.png"}]},regularPath:"/win7simu/simulated/ie.html",relativePath:"win7simu/simulated/ie.md",key:"v-10412362",path:"/win7simu/simulated/ie.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Win7 Simu simulated apps",frontmatter:{layout:"FeatureList",title:"Win7 Simu simulated apps",description:"An overview of simulated applications available in Win7 Simu",image:"https://image.social/get?url=visnalize.com/win7simu/simulated/",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com/win7simu/simulated/"},{name:"twitter:title",content:"Win7 Simu simulated apps"},{name:"twitter:description",content:"An overview of simulated applications available in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com/win7simu/simulated/"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/"},{property:"og:type",content:"article"},{property:"og:title",content:"Win7 Simu simulated apps"},{property:"og:description",content:"An overview of simulated applications available in Win7 Simu"},{property:"og:image",content:"https://image.social/get?url=visnalize.com/win7simu/simulated/"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Win7 Simu simulated apps"},{itemprop:"description",content:"An overview of simulated applications available in Win7 Simu"},{itemprop:"image",content:"https://image.social/get?url=visnalize.com/win7simu/simulated/"}]},regularPath:"/win7simu/simulated/",relativePath:"win7simu/simulated/index.md",key:"v-1e6132e6",path:"/win7simu/simulated/",lastUpdated:"8/30/2024, 10:09:03 AM",lastUpdatedTimestamp:1725012543e3,firstCreated:"8/30/2024, 10:09:03 AM",firstCreatedTimestamp:1725012543e3},{title:"Magnifier",frontmatter:{layout:"FeaturePage",title:"Magnifier",description:"Allows you to control the magnification level of the screen for better viewing",image:"/assets/features/magnifier.png",version:"2.24.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/magnifier.png"},{name:"twitter:title",content:"Magnifier"},{name:"twitter:description",content:"Allows you to control the magnification level of the screen for better viewing"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/magnifier.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/magnifier.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Magnifier"},{property:"og:description",content:"Allows you to control the magnification level of the screen for better viewing"},{property:"og:image",content:"https://visnalize.com/assets/features/magnifier.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/magnifier.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Magnifier"},{itemprop:"description",content:"Allows you to control the magnification level of the screen for better viewing"},{itemprop:"image",content:"https://visnalize.com/assets/features/magnifier.png"}]},regularPath:"/win7simu/simulated/magnifier.html",relativePath:"win7simu/simulated/magnifier.md",key:"v-aa648488",path:"/win7simu/simulated/magnifier.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Home",frontmatter:{home:!0,description:"Author of Win7 Simu and Brick 1100. On a mission to relive the good old days with simulation apps.",tagline:null,pageClass:"homepage",image:"https://image.social/get?url=visnalize.com",meta:[{name:"image",content:"https://image.social/get?url=visnalize.com"},{name:"twitter:title",content:"Visnalize"},{name:"twitter:description",content:"Author of Win7 Simu and Brick 1100. On a mission to relive the good old days with simulation apps."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://image.social/get?url=visnalize.com"},{name:"twitter:url",content:"https://visnalize.com/"},{property:"og:type",content:"website"},{property:"og:title",content:"Visnalize"},{property:"og:description",content:"Author of Win7 Simu and Brick 1100. On a mission to relive the good old days with simulation apps."},{property:"og:image",content:"https://image.social/get?url=visnalize.com"},{property:"og:url",content:"https://visnalize.com/"},{itemprop:"name",content:"Visnalize"},{itemprop:"description",content:"Author of Win7 Simu and Brick 1100. On a mission to relive the good old days with simulation apps."},{itemprop:"image",content:"https://image.social/get?url=visnalize.com"}]},regularPath:"/",relativePath:"index.md",key:"v-98844e8a",path:"/",lastUpdated:"9/3/2024, 9:12:11 AM",lastUpdatedTimestamp:1725354731e3,firstCreated:"7/5/2021, 2:24:45 PM",firstCreatedTimestamp:1625495085e3},{title:"Windows Media Player",frontmatter:{layout:"FeaturePage",title:"Windows Media Player",description:"Allows you to play music, videos, and photos in various formats supported by Win7 Simu, in a simple and efficient manner",image:"/assets/features/media-player.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/media-player.png"},{name:"twitter:title",content:"Windows Media Player"},{name:"twitter:description",content:"Allows you to play music, videos, and photos in various formats supported by Win7 Simu, in a simple and efficient manner"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/media-player.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/media-player.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Windows Media Player"},{property:"og:description",content:"Allows you to play music, videos, and photos in various formats supported by Win7 Simu, in a simple and efficient manner"},{property:"og:image",content:"https://visnalize.com/assets/features/media-player.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/media-player.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Windows Media Player"},{itemprop:"description",content:"Allows you to play music, videos, and photos in various formats supported by Win7 Simu, in a simple and efficient manner"},{itemprop:"image",content:"https://visnalize.com/assets/features/media-player.png"}]},regularPath:"/win7simu/simulated/media-player.html",relativePath:"win7simu/simulated/media-player.md",key:"v-ff06623c",path:"/win7simu/simulated/media-player.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Minesweeper",frontmatter:{layout:"FeaturePage",title:"Minesweeper",description:"Lets you play the classic Minesweeper game, where you have to clear a minefield without detonating any mines. Can you beat your best time?",image:"/assets/features/minesweeper.png",version:"1.2.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/minesweeper.png"},{name:"twitter:title",content:"Minesweeper"},{name:"twitter:description",content:"Lets you play the classic Minesweeper game, where you have to clear a minefield without detonating any mines. Can you beat your best time?"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/minesweeper.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/minesweeper.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Minesweeper"},{property:"og:description",content:"Lets you play the classic Minesweeper game, where you have to clear a minefield without detonating any mines. Can you beat your best time?"},{property:"og:image",content:"https://visnalize.com/assets/features/minesweeper.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/minesweeper.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Minesweeper"},{itemprop:"description",content:"Lets you play the classic Minesweeper game, where you have to clear a minefield without detonating any mines. Can you beat your best time?"},{itemprop:"image",content:"https://visnalize.com/assets/features/minesweeper.png"}]},regularPath:"/win7simu/simulated/minesweeper.html",relativePath:"win7simu/simulated/minesweeper.md",key:"v-856c7aa8",path:"/win7simu/simulated/minesweeper.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Notepad",frontmatter:{layout:"FeaturePage",title:"Notepad",description:"Allows you to perform basic text editing tasks, such as creating, viewing, and editing text files in a simple and efficient manner",image:"/assets/features/notepad.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/notepad.png"},{name:"twitter:title",content:"Notepad"},{name:"twitter:description",content:"Allows you to perform basic text editing tasks, such as creating, viewing, and editing text files in a simple and efficient manner"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/notepad.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/notepad.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Notepad"},{property:"og:description",content:"Allows you to perform basic text editing tasks, such as creating, viewing, and editing text files in a simple and efficient manner"},{property:"og:image",content:"https://visnalize.com/assets/features/notepad.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/notepad.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Notepad"},{itemprop:"description",content:"Allows you to perform basic text editing tasks, such as creating, viewing, and editing text files in a simple and efficient manner"},{itemprop:"image",content:"https://visnalize.com/assets/features/notepad.png"}]},regularPath:"/win7simu/simulated/notepad.html",relativePath:"win7simu/simulated/notepad.md",key:"v-7d425f36",path:"/win7simu/simulated/notepad.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Paint",frontmatter:{layout:"FeaturePage",title:"Paint",description:"Allows you to create and edit images using various tools, such as brushes, shapes, text, colors, and more in Win7 Simu",image:"/assets/features/paint.png",version:"2.2.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/paint.png"},{name:"twitter:title",content:"Paint"},{name:"twitter:description",content:"Allows you to create and edit images using various tools, such as brushes, shapes, text, colors, and more in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/paint.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/paint.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Paint"},{property:"og:description",content:"Allows you to create and edit images using various tools, such as brushes, shapes, text, colors, and more in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/paint.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/paint.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Paint"},{itemprop:"description",content:"Allows you to create and edit images using various tools, such as brushes, shapes, text, colors, and more in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/paint.png"}]},regularPath:"/win7simu/simulated/paint.html",relativePath:"win7simu/simulated/paint.md",key:"v-605a7f7c",path:"/win7simu/simulated/paint.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Personalize",frontmatter:{layout:"FeaturePage",title:"Personalize",description:"Allows you to customize the appearance of your Win7 Simu, including the desktop background, window colors, sounds, screen saver, or altogether as a theme",image:"/assets/features/personalize.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/personalize.png"},{name:"twitter:title",content:"Personalize"},{name:"twitter:description",content:"Allows you to customize the appearance of your Win7 Simu, including the desktop background, window colors, sounds, screen saver, or altogether as a theme"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/personalize.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/personalize.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Personalize"},{property:"og:description",content:"Allows you to customize the appearance of your Win7 Simu, including the desktop background, window colors, sounds, screen saver, or altogether as a theme"},{property:"og:image",content:"https://visnalize.com/assets/features/personalize.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/personalize.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Personalize"},{itemprop:"description",content:"Allows you to customize the appearance of your Win7 Simu, including the desktop background, window colors, sounds, screen saver, or altogether as a theme"},{itemprop:"image",content:"https://visnalize.com/assets/features/personalize.png"}]},regularPath:"/win7simu/simulated/personalize.html",relativePath:"win7simu/simulated/personalize.md",key:"v-6078d960",path:"/win7simu/simulated/personalize.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Purble Place",frontmatter:{layout:"FeaturePage",title:"Purble Place",description:"Brings back the classic Purble Place game suite, which includes three mini-games, Purble Pairs, Comfy Cakes, and Purble Shop. Do you have what it takes to master all three games?",image:"/assets/features/purbleplace.png",version:"1.2.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/purbleplace.png"},{name:"twitter:title",content:"Purble Place"},{name:"twitter:description",content:"Brings back the classic Purble Place game suite, which includes three mini-games, Purble Pairs, Comfy Cakes, and Purble Shop. Do you have what it takes to master all three games?"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/purbleplace.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/purbleplace.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Purble Place"},{property:"og:description",content:"Brings back the classic Purble Place game suite, which includes three mini-games, Purble Pairs, Comfy Cakes, and Purble Shop. Do you have what it takes to master all three games?"},{property:"og:image",content:"https://visnalize.com/assets/features/purbleplace.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/purbleplace.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Purble Place"},{itemprop:"description",content:"Brings back the classic Purble Place game suite, which includes three mini-games, Purble Pairs, Comfy Cakes, and Purble Shop. Do you have what it takes to master all three games?"},{itemprop:"image",content:"https://visnalize.com/assets/features/purbleplace.png"}]},regularPath:"/win7simu/simulated/purbleplace.html",relativePath:"win7simu/simulated/purbleplace.md",key:"v-9c0e9874",path:"/win7simu/simulated/purbleplace.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Programs and Features",frontmatter:{layout:"FeaturePage",title:"Programs and Features",description:"Lets you manage the programs and features supported by Win7 Simu or install new ones",image:"/assets/features/programs.png",version:"2.27.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/programs.png"},{name:"twitter:title",content:"Programs and Features"},{name:"twitter:description",content:"Lets you manage the programs and features supported by Win7 Simu or install new ones"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/programs.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/programs.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Programs and Features"},{property:"og:description",content:"Lets you manage the programs and features supported by Win7 Simu or install new ones"},{property:"og:image",content:"https://visnalize.com/assets/features/programs.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/programs.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Programs and Features"},{itemprop:"description",content:"Lets you manage the programs and features supported by Win7 Simu or install new ones"},{itemprop:"image",content:"https://visnalize.com/assets/features/programs.png"}]},regularPath:"/win7simu/simulated/programs.html",relativePath:"win7simu/simulated/programs.md",key:"v-6e4fcf02",path:"/win7simu/simulated/programs.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Sound Recorder",frontmatter:{layout:"FeaturePage",title:"Sound Recorder",description:"Lets you record sound from your microphone and save it as audio files in Win7 Simu",image:"/assets/features/recorder.png",version:"2.15.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/recorder.png"},{name:"twitter:title",content:"Sound Recorder"},{name:"twitter:description",content:"Lets you record sound from your microphone and save it as audio files in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/recorder.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/recorder.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Sound Recorder"},{property:"og:description",content:"Lets you record sound from your microphone and save it as audio files in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/recorder.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/recorder.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Sound Recorder"},{itemprop:"description",content:"Lets you record sound from your microphone and save it as audio files in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/recorder.png"}]},regularPath:"/win7simu/simulated/recorder.html",relativePath:"win7simu/simulated/recorder.md",key:"v-482face2",path:"/win7simu/simulated/recorder.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Snipping Tool",frontmatter:{layout:"FeaturePage",title:"Snipping Tool",description:"Allows you to quickly capture screenshots of your desktop, a window, or a specific region of your screen, and save it as an image file",image:"/assets/features/snipping.png",version:"1.0.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/snipping.png"},{name:"twitter:title",content:"Snipping Tool"},{name:"twitter:description",content:"Allows you to quickly capture screenshots of your desktop, a window, or a specific region of your screen, and save it as an image file"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/snipping.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/snipping.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Snipping Tool"},{property:"og:description",content:"Allows you to quickly capture screenshots of your desktop, a window, or a specific region of your screen, and save it as an image file"},{property:"og:image",content:"https://visnalize.com/assets/features/snipping.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/snipping.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Snipping Tool"},{itemprop:"description",content:"Allows you to quickly capture screenshots of your desktop, a window, or a specific region of your screen, and save it as an image file"},{itemprop:"image",content:"https://visnalize.com/assets/features/snipping.png"}]},regularPath:"/win7simu/simulated/snipping.html",relativePath:"win7simu/simulated/snipping.md",key:"v-190bf8bc",path:"/win7simu/simulated/snipping.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Solitaire",frontmatter:{layout:"FeaturePage",title:"Solitaire",description:"Brings back the classic card game with a nostalgic look and feel of the Windows 7 version",image:"/assets/features/solitaire.png",version:"2.12.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/solitaire.png"},{name:"twitter:title",content:"Solitaire"},{name:"twitter:description",content:"Brings back the classic card game with a nostalgic look and feel of the Windows 7 version"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/solitaire.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/solitaire.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Solitaire"},{property:"og:description",content:"Brings back the classic card game with a nostalgic look and feel of the Windows 7 version"},{property:"og:image",content:"https://visnalize.com/assets/features/solitaire.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/solitaire.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Solitaire"},{itemprop:"description",content:"Brings back the classic card game with a nostalgic look and feel of the Windows 7 version"},{itemprop:"image",content:"https://visnalize.com/assets/features/solitaire.png"}]},regularPath:"/win7simu/simulated/solitaire.html",relativePath:"win7simu/simulated/solitaire.md",key:"v-6a81288c",path:"/win7simu/simulated/solitaire.html",lastUpdated:"9/1/2024, 3:54:23 AM",lastUpdatedTimestamp:1725162863e3,firstCreated:"9/1/2024, 3:54:23 AM",firstCreatedTimestamp:1725162863e3},{title:"Sticky Notes",frontmatter:{layout:"FeaturePage",title:"Sticky Notes",description:"Allows you to create and manage colorful sticky notes on your desktop in Win7 Simu",image:"/assets/features/sticky.png",version:"2.14.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/sticky.png"},{name:"twitter:title",content:"Sticky Notes"},{name:"twitter:description",content:"Allows you to create and manage colorful sticky notes on your desktop in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/sticky.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/sticky.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Sticky Notes"},{property:"og:description",content:"Allows you to create and manage colorful sticky notes on your desktop in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/sticky.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/sticky.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Sticky Notes"},{itemprop:"description",content:"Allows you to create and manage colorful sticky notes on your desktop in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/sticky.png"}]},regularPath:"/win7simu/simulated/sticky.html",relativePath:"win7simu/simulated/sticky.md",key:"v-496f6bc2",path:"/win7simu/simulated/sticky.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Task Manager",frontmatter:{layout:"FeaturePage",title:"Task Manager",description:"Monitors and manages the applications, processes, and services running in Win7 Simu",image:"/assets/features/taskmgr.png",version:"2.17.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/taskmgr.png"},{name:"twitter:title",content:"Task Manager"},{name:"twitter:description",content:"Monitors and manages the applications, processes, and services running in Win7 Simu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/taskmgr.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/taskmgr.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Task Manager"},{property:"og:description",content:"Monitors and manages the applications, processes, and services running in Win7 Simu"},{property:"og:image",content:"https://visnalize.com/assets/features/taskmgr.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/taskmgr.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Task Manager"},{itemprop:"description",content:"Monitors and manages the applications, processes, and services running in Win7 Simu"},{itemprop:"image",content:"https://visnalize.com/assets/features/taskmgr.png"}]},regularPath:"/win7simu/simulated/taskmgr.html",relativePath:"win7simu/simulated/taskmgr.md",key:"v-9c5b69dc",path:"/win7simu/simulated/taskmgr.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Windows Media Center",frontmatter:{layout:"FeaturePage",title:"Windows Media Center",description:"Allows you to play music, videos, photos, and more, with stunning visuals and animations",image:"/assets/features/wmc.png",version:"3.9.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/wmc.png"},{name:"twitter:title",content:"Windows Media Center"},{name:"twitter:description",content:"Allows you to play music, videos, photos, and more, with stunning visuals and animations"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/wmc.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/wmc.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Windows Media Center"},{property:"og:description",content:"Allows you to play music, videos, photos, and more, with stunning visuals and animations"},{property:"og:image",content:"https://visnalize.com/assets/features/wmc.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/wmc.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Windows Media Center"},{itemprop:"description",content:"Allows you to play music, videos, photos, and more, with stunning visuals and animations"},{itemprop:"image",content:"https://visnalize.com/assets/features/wmc.png"}]},regularPath:"/win7simu/simulated/wmc.html",relativePath:"win7simu/simulated/wmc.md",key:"v-e435f744",path:"/win7simu/simulated/wmc.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Theme Studio Changelog",frontmatter:{sidebar:"auto",pageClass:"changelog",description:"",meta:[{name:"twitter:title",content:"Theme Studio Changelog"},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/win7simu/themestudio/changelog.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Theme Studio Changelog"},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/win7simu/themestudio/changelog.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Theme Studio Changelog"},{itemprop:"description",content:""}]},regularPath:"/win7simu/themestudio/changelog.html",relativePath:"win7simu/themestudio/changelog.md",key:"v-51b76d92",path:"/win7simu/themestudio/changelog.html",headers:[{level:2,title:"All versions",slug:"all-versions"},{level:3,title:"1.2.0 (Jul 10, 2023)",slug:"_1-2-0-jul-10-2023"},{level:3,title:"1.1.0 (Mar 13, 2023)",slug:"_1-1-0-mar-13-2023"},{level:3,title:"1.0.0 (Feb 19, 2023)",slug:"_1-0-0-feb-19-2023"}],lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"2/18/2023, 6:34:47 PM",firstCreatedTimestamp:1676745287e3},{title:"WordPad",frontmatter:{layout:"FeaturePage",title:"WordPad",description:"Allows you to perform more advanced text editing tasks, such as creating, viewing, and editing rich text files with formatting options and more",image:"/assets/features/wordpad.png",version:"2.17.0",meta:[{name:"image",content:"https://visnalize.com/assets/features/wordpad.png"},{name:"twitter:title",content:"WordPad"},{name:"twitter:description",content:"Allows you to perform more advanced text editing tasks, such as creating, viewing, and editing rich text files with formatting options and more"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/assets/features/wordpad.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/simulated/wordpad.html"},{property:"og:type",content:"article"},{property:"og:title",content:"WordPad"},{property:"og:description",content:"Allows you to perform more advanced text editing tasks, such as creating, viewing, and editing rich text files with formatting options and more"},{property:"og:image",content:"https://visnalize.com/assets/features/wordpad.png"},{property:"og:url",content:"https://visnalize.com/win7simu/simulated/wordpad.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"WordPad"},{itemprop:"description",content:"Allows you to perform more advanced text editing tasks, such as creating, viewing, and editing rich text files with formatting options and more"},{itemprop:"image",content:"https://visnalize.com/assets/features/wordpad.png"}]},regularPath:"/win7simu/simulated/wordpad.html",relativePath:"win7simu/simulated/wordpad.md",key:"v-10fbe366",path:"/win7simu/simulated/wordpad.html",lastUpdated:"8/31/2024, 1:10:28 PM",lastUpdatedTimestamp:1725109828e3,firstCreated:"8/31/2024, 1:10:28 PM",firstCreatedTimestamp:1725109828e3},{title:"Theme Studio in-depth guide",frontmatter:{layout:"WithComments",title:"Theme Studio in-depth guide",sidebarDepth:2,description:"",meta:[{name:"image",content:"https://visnalize.com/./img/guide1.png"},{name:"twitter:title",content:"Theme Studio in-depth guide"},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/./img/guide1.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/themestudio/in-depth-guide.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Theme Studio in-depth guide"},{property:"og:description",content:""},{property:"og:image",content:"https://visnalize.com/./img/guide1.png"},{property:"og:url",content:"https://visnalize.com/win7simu/themestudio/in-depth-guide.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Theme Studio in-depth guide"},{itemprop:"description",content:""},{itemprop:"image",content:"https://visnalize.com/./img/guide1.png"}]},regularPath:"/win7simu/themestudio/in-depth-guide.html",relativePath:"win7simu/themestudio/in-depth-guide.md",key:"v-2cf24a82",path:"/win7simu/themestudio/in-depth-guide.html",headers:[{level:2,title:"Step-by-step",slug:"step-by-step"},{level:3,title:"Writing your first theme",slug:"writing-your-first-theme"},{level:3,title:"Using themes",slug:"using-themes"},{level:3,title:"Publishing your theme",slug:"publishing-your-theme"},{level:2,title:"Common selectors",slug:"common-selectors"},{level:2,title:"Background and icons",slug:"background-and-icons"},{level:3,title:"Program IDs",slug:"program-ids"}],lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"2/18/2023, 6:34:47 PM",firstCreatedTimestamp:1676745287e3},{title:"Getting started with Theme Studio",frontmatter:{layout:"WithComments",title:"Getting started with Theme Studio",sidebarDepth:2,description:"",meta:[{name:"image",content:"https://visnalize.com/./img/themestudio-editor.png"},{name:"twitter:title",content:"Getting started with Theme Studio"},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/./img/themestudio-editor.png"},{name:"twitter:url",content:"https://visnalize.com/win7simu/themestudio/quick-guide.html"},{property:"og:type",content:"article"},{property:"og:title",content:"Getting started with Theme Studio"},{property:"og:description",content:""},{property:"og:image",content:"https://visnalize.com/./img/themestudio-editor.png"},{property:"og:url",content:"https://visnalize.com/win7simu/themestudio/quick-guide.html"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Getting started with Theme Studio"},{itemprop:"description",content:""},{itemprop:"image",content:"https://visnalize.com/./img/themestudio-editor.png"}]},regularPath:"/win7simu/themestudio/quick-guide.html",relativePath:"win7simu/themestudio/quick-guide.md",key:"v-007b4402",path:"/win7simu/themestudio/quick-guide.html",headers:[{level:2,title:"User interface",slug:"user-interface"},{level:3,title:"Theme Editor",slug:"theme-editor"},{level:3,title:"Themes Explorer",slug:"themes-explorer"},{level:2,title:"Quick start",slug:"quick-start"}],lastUpdated:"9/8/2024, 8:36:48 AM",lastUpdatedTimestamp:1725784608e3,firstCreated:"2/18/2023, 6:34:47 PM",firstCreatedTimestamp:1676745287e3},{title:"Theme Studio",frontmatter:{layout:"BlogPost",description:"Introduction to Theme Studio, an exclusive application to Win7 Simu.",meta:[{name:"image",content:"https://visnalize.com/./img/themestudio.jpg"},{name:"twitter:title",content:"Theme Studio"},{name:"twitter:description",content:"Introduction to Theme Studio, an exclusive application to Win7 Simu."},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:image",content:"https://visnalize.com/./img/themestudio.jpg"},{name:"twitter:url",content:"https://visnalize.com/win7simu/themestudio/"},{property:"og:type",content:"article"},{property:"og:title",content:"Theme Studio"},{property:"og:description",content:"Introduction to Theme Studio, an exclusive application to Win7 Simu."},{property:"og:image",content:"https://visnalize.com/./img/themestudio.jpg"},{property:"og:url",content:"https://visnalize.com/win7simu/themestudio/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:"Theme Studio"},{itemprop:"description",content:"Introduction to Theme Studio, an exclusive application to Win7 Simu."},{itemprop:"image",content:"https://visnalize.com/./img/themestudio.jpg"}]},regularPath:"/win7simu/themestudio/",relativePath:"win7simu/themestudio/readme.md",key:"v-05767d49",path:"/win7simu/themestudio/",lastUpdated:"9/3/2024, 8:15:04 AM",lastUpdatedTimestamp:1725351304e3,firstCreated:"2/18/2023, 6:34:47 PM",firstCreatedTimestamp:1676745287e3},{frontmatter:{layout:"BlogList",title:"Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/",key:"v-0326206d",path:"/blog/tag/"},{frontmatter:{layout:"BlogList",title:"tips Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/tips/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/tips/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/tips/",key:"v-60422faa",path:"/blog/tag/tips/"},{frontmatter:{layout:"BlogList",title:"sharing Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/sharing/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/sharing/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/sharing/",key:"v-0052e380",path:"/blog/tag/sharing/"},{frontmatter:{layout:"BlogList",title:"technical Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/technical/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/technical/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/technical/",key:"v-62ece89f",path:"/blog/tag/technical/"},{frontmatter:{layout:"BlogList",title:"random Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/random/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/random/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/random/",key:"v-3e40a282",path:"/blog/tag/random/"},{frontmatter:{layout:"BlogList",title:"win7-simu Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/win7-simu/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/win7-simu/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/win7-simu/",key:"v-791b612c",path:"/blog/tag/win7-simu/"},{frontmatter:{layout:"BlogList",title:"brick-1100 Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/brick-1100/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/brick-1100/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/brick-1100/",key:"v-549e50f6",path:"/blog/tag/brick-1100/"},{frontmatter:{layout:"BlogList",title:"review Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/review/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/review/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/review/",key:"v-2fb4226c",path:"/blog/tag/review/"},{frontmatter:{layout:"BlogList",title:"tools Tag",description:"",meta:[{name:"twitter:title",content:""},{name:"twitter:description",content:""},{name:"twitter:card",content:"summary"},{name:"twitter:url",content:"https://visnalize.com/blog/tag/tools/"},{property:"og:type",content:"article"},{property:"og:title",content:""},{property:"og:description",content:""},{property:"og:url",content:"https://visnalize.com/blog/tag/tools/"},{property:"article:author",content:"Visnalize"},{itemprop:"name",content:""},{itemprop:"description",content:""}]},regularPath:"/blog/tag/tools/",key:"v-af50673e",path:"/blog/tag/tools/"}],themeConfig:{logo:"/assets/favicon.png",nav:[{text:"💻 Win7 Simu",items:[{text:"About",link:"/win7simu/about"},{text:"Changelog",link:"/win7simu/changelog"},{text:"FAQs",link:"/win7simu/faq"},{text:"Privacy Policy",link:"/win7simu/privacy"},{text:"Guides",items:[{text:"Simulated apps",link:"/win7simu/simulated/"},{text:"Theme Studio",link:"/win7simu/themestudio/"}]}]},{text:"📵 Brick 1100",items:[{text:"About",link:"/brick1100/about"},{text:"Changelog",link:"/brick1100/changelog"},{text:"Privacy Policy",link:"/brick1100/privacy"},{text:"Guides",items:[{text:"Games",link:"/brick1100/games"},{text:"Deep Links",link:"/brick1100/deep-links"},{text:"Builders",link:"/brick1100/builders"}]}]},{text:"📝 Blog",link:"/blog/"},{text:"🙋‍♂️ About",link:"/about"},{text:"🌏 Social",items:[{text:"Google Play",link:"https://play.google.com/store/apps/dev?id=7119371547095400132"},{text:"Youtube",link:"https://www.youtube.com/c/visnalize"},{text:"Github",link:"https://github.com/Visnalize"},{text:"Twitter",link:"https://twitter.com/visnalize"}]}],sidebar:{"/win7simu/themestudio/":[["","Introduction"],["quick-guide","Getting started"],["in-depth-guide","In-depth guide"],["changelog","Changelog"]],"/brick1100/":"auto","/blog/":!1},smoothScroll:!0,lastUpdated:!0}};var Le=n(21),Ie=n.n(Le),We=n(15),Ne=n.n(We),Ue=n(121),qe=n.n(Ue),Re=n(122),De=n.n(Re),Fe="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,Ve=function(){for(var t=["Edge","Trident","Firefox"],e=0;e=0)return 1;return 0}();var He=Fe&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),Ve))}};function Ge(t){return t&&"[object Function]"==={}.toString.call(t)}function Ye(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function Ke(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function Je(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=Ye(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:Je(Ke(t))}function Xe(t){return t&&t.referenceNode?t.referenceNode:t}var Qe=Fe&&!(!window.MSInputMethodContext||!document.documentMode),Ze=Fe&&/MSIE 10/.test(navigator.userAgent);function tn(t){return 11===t?Qe:10===t?Ze:Qe||Ze}function en(t){if(!t)return document.documentElement;for(var e=tn(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===Ye(n,"position")?en(n):n:t?t.ownerDocument.documentElement:document.documentElement}function nn(t){return null!==t.parentNode?nn(t.parentNode):t}function on(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var a,s,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(s=(a=l).nodeName)||"HTML"!==s&&en(a.firstElementChild)!==a?en(l):l;var c=nn(t);return c.host?on(c.host,e):on(t,nn(e).host)}function rn(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function an(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=rn(e,"top"),o=rn(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function sn(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+i+"Width"])}function ln(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],tn(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function cn(t){var e=t.body,n=t.documentElement,i=tn(10)&&getComputedStyle(n);return{height:ln("Height",e,n,i),width:ln("Width",e,n,i)}}var un=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},pn=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=tn(10),o="HTML"===e.nodeName,r=fn(t),a=fn(e),s=Je(t),l=Ye(e),c=parseFloat(l.borderTopWidth),u=parseFloat(l.borderLeftWidth);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var p=hn({top:r.top-a.top-c,left:r.left-a.left-u,width:r.width,height:r.height});if(p.marginTop=0,p.marginLeft=0,!i&&o){var d=parseFloat(l.marginTop),m=parseFloat(l.marginLeft);p.top-=c-d,p.bottom-=c-d,p.left-=u-m,p.right-=u-m,p.marginTop=d,p.marginLeft=m}return(i&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(p=an(p,e)),p}function vn(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=gn(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),a=e?0:rn(n),s=e?0:rn(n,"left"),l={top:a-i.top+i.marginTop,left:s-i.left+i.marginLeft,width:o,height:r};return hn(l)}function yn(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===Ye(t,"position"))return!0;var n=Ke(t);return!!n&&yn(n)}function wn(t){if(!t||!t.parentElement||tn())return document.documentElement;for(var e=t.parentElement;e&&"none"===Ye(e,"transform");)e=e.parentElement;return e||document.documentElement}function bn(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},a=o?wn(t):on(t,Xe(e));if("viewport"===i)r=vn(a,o);else{var s=void 0;"scrollParent"===i?"BODY"===(s=Je(Ke(e))).nodeName&&(s=t.ownerDocument.documentElement):s="window"===i?t.ownerDocument.documentElement:i;var l=gn(s,a,o);if("HTML"!==s.nodeName||yn(a))r=l;else{var c=cn(t.ownerDocument),u=c.height,p=c.width;r.top+=l.top-l.marginTop,r.bottom=u+l.top,r.left+=l.left-l.marginLeft,r.right=p+l.left}}var d="number"==typeof(n=n||0);return r.left+=d?n:n.left||0,r.top+=d?n:n.top||0,r.right-=d?n:n.right||0,r.bottom-=d?n:n.bottom||0,r}function _n(t){return t.width*t.height}function kn(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var a=bn(n,i,r,o),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map((function(t){return mn({key:t},s[t],{area:_n(s[t])})})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),u=c.length>0?c[0].key:l[0].key,p=t.split("-")[1];return u+(p?"-"+p:"")}function xn(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?wn(e):on(e,Xe(n));return gn(n,o,i)}function Cn(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Sn(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function Pn(t,e,n){n=n.split("-")[0];var i=Cn(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),a=r?"top":"left",s=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[a]=e[a]+e[l]/2-i[l]/2,o[s]=n===s?e[s]-i[c]:e[Sn(s)],o}function Tn(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function On(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=Tn(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&Ge(n)&&(e.offsets.popper=hn(e.offsets.popper),e.offsets.reference=hn(e.offsets.reference),e=n(e,t))})),e}function zn(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=xn(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=kn(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Pn(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=On(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function En(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function An(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=Rn.indexOf(t),i=Rn.slice(n+1).concat(Rn.slice(0,n));return e?i.reverse():i}var Fn="flip",Vn="clockwise",Hn="counterclockwise";function Gn(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),a=t.split(/(\+|\-)/).map((function(t){return t.trim()})),s=a.indexOf(Tn(a,(function(t){return-1!==t.search(/,|\s/)})));a[s]&&-1===a[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==s?[a.slice(0,s).concat([a[s].split(l)[0]]),[a[s].split(l)[1]].concat(a.slice(s+1))]:[a];return(c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",a=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],a=o[2];if(!r)return t;if(0===a.indexOf("%")){var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=i}return hn(s)[e]/100*r}if("vh"===a||"vw"===a){return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){In(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var Yn={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,a=o.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",c=s?"width":"height",u={start:dn({},l,r[l]),end:dn({},l,r[l]+r[c]-a[c])};t.offsets.popper=mn({},a,u[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,a=o.reference,s=i.split("-")[0],l=void 0;return l=In(+n)?[+n,0]:Gn(n,r,a,s),"left"===s?(r.top+=l[0],r.left-=l[1]):"right"===s?(r.top+=l[0],r.left+=l[1]):"top"===s?(r.left+=l[0],r.top-=l[1]):"bottom"===s&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||en(t.instance.popper);t.instance.reference===n&&(n=en(n));var i=An("transform"),o=t.instance.popper.style,r=o.top,a=o.left,s=o[i];o.top="",o.left="",o[i]="";var l=bn(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=a,o[i]=s,e.boundaries=l;var c=e.priority,u=t.offsets.popper,p={primary:function(t){var n=u[t];return u[t]l[t]&&!e.escapeWithReference&&(i=Math.min(u[n],l[t]-("right"===t?u.width:u.height))),dn({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=mn({},u,p[e](t))})),t.offsets.popper=u,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,a=-1!==["top","bottom"].indexOf(o),s=a?"right":"bottom",l=a?"left":"top",c=a?"width":"height";return n[s]r(i[s])&&(t.offsets.popper[l]=r(i[s])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!Un(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,a=r.popper,s=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",u=l?"Top":"Left",p=u.toLowerCase(),d=l?"left":"top",m=l?"bottom":"right",h=Cn(i)[c];s[m]-ha[m]&&(t.offsets.popper[p]+=s[p]+h-a[m]),t.offsets.popper=hn(t.offsets.popper);var f=s[p]+s[c]/2-h/2,g=Ye(t.instance.popper),v=parseFloat(g["margin"+u]),y=parseFloat(g["border"+u+"Width"]),w=f-t.offsets.popper[p]-v-y;return w=Math.max(Math.min(a[c]-h,w),0),t.arrowElement=i,t.offsets.arrow=(dn(n={},p,Math.round(w)),dn(n,d,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(En(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=bn(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=Sn(i),r=t.placement.split("-")[1]||"",a=[];switch(e.behavior){case Fn:a=[i,o];break;case Vn:a=Dn(i);break;case Hn:a=Dn(i,!0);break;default:a=e.behavior}return a.forEach((function(s,l){if(i!==s||a.length===l+1)return t;i=t.placement.split("-")[0],o=Sn(i);var c=t.offsets.popper,u=t.offsets.reference,p=Math.floor,d="left"===i&&p(c.right)>p(u.left)||"right"===i&&p(c.left)p(u.top)||"bottom"===i&&p(c.top)p(n.right),f=p(c.top)p(n.bottom),v="left"===i&&m||"right"===i&&h||"top"===i&&f||"bottom"===i&&g,y=-1!==["top","bottom"].indexOf(i),w=!!e.flipVariations&&(y&&"start"===r&&m||y&&"end"===r&&h||!y&&"start"===r&&f||!y&&"end"===r&&g),b=!!e.flipVariationsByContent&&(y&&"start"===r&&h||y&&"end"===r&&m||!y&&"start"===r&&g||!y&&"end"===r&&f),_=w||b;(d||v||_)&&(t.flipped=!0,(d||v)&&(i=a[l+1]),_&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=mn({},t.offsets.popper,Pn(t.instance.popper,t.offsets.reference,t.placement)),t=On(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=r[n]-(s?o[a?"width":"height"]:0),t.placement=Sn(e),t.offsets.popper=hn(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!Un(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Tn(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};un(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=He(this.update.bind(this)),this.options=mn({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(mn({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=mn({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return mn({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&Ge(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return pn(t,[{key:"update",value:function(){return zn.call(this)}},{key:"destroy",value:function(){return $n.call(this)}},{key:"enableEventListeners",value:function(){return Bn.call(this)}},{key:"disableEventListeners",value:function(){return Ln.call(this)}}]),t}();Kn.Utils=("undefined"!=typeof window?window:global).PopperUtils,Kn.placements=qn,Kn.Defaults=Yn;var Jn,Xn=Kn,Qn=n(123),Zn=n.n(Qn);function ti(){ti.init||(ti.init=!0,Jn=-1!==function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var n=t.indexOf("rv:");return parseInt(t.substring(n+3,t.indexOf(".",n)),10)}var i=t.indexOf("Edge/");return i>0?parseInt(t.substring(i+5,t.indexOf(".",i)),10):-1}())}function ei(t,e,n,i,o,r,a,s,l,c){"boolean"!=typeof a&&(l=s,s=a,a=!1);var u,p="function"==typeof n?n.options:n;if(t&&t.render&&(p.render=t.render,p.staticRenderFns=t.staticRenderFns,p._compiled=!0,o&&(p.functional=!0)),i&&(p._scopeId=i),r?(u=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(r)},p._ssrRegister=u):e&&(u=a?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,s(t))}),u)if(p.functional){var d=p.render;p.render=function(t,e){return u.call(e),d(t,e)}}else{var m=p.beforeCreate;p.beforeCreate=m?[].concat(m,u):[u]}return n}var ni={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t=this;ti(),this.$nextTick((function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight,t.emitOnMount&&t.emitSize()}));var e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",Jn&&this.$el.appendChild(e),e.data="about:blank",Jn||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!Jn&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},ii=function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};ii._withStripped=!0;var oi=ei({render:ii,staticRenderFns:[]},void 0,ni,"data-v-8859cc6c",!1,void 0,!1,void 0,void 0,void 0);var ri={version:"1.0.1",install:function(t){t.component("resize-observer",oi),t.component("ResizeObserver",oi)}},ai=null;"undefined"!=typeof window?ai=window.Vue:"undefined"!=typeof global&&(ai=global.Vue),ai&&ai.use(ri);var si=n(124),li=n.n(si),ci=function(){};function ui(t){return"string"==typeof t&&(t=t.split(" ")),t}function pi(t,e){var n,i=ui(e);n=t.className instanceof ci?ui(t.className.baseVal):ui(t.className),i.forEach((function(t){-1===n.indexOf(t)&&n.push(t)})),t instanceof SVGElement?t.setAttribute("class",n.join(" ")):t.className=n.join(" ")}function di(t,e){var n,i=ui(e);n=t.className instanceof ci?ui(t.className.baseVal):ui(t.className),i.forEach((function(t){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})),t instanceof SVGElement?t.setAttribute("class",n.join(" ")):t.className=n.join(" ")}"undefined"!=typeof window&&(ci=window.SVGAnimatedString);var mi=!1;if("undefined"!=typeof window){mi=!1;try{var hi=Object.defineProperty({},"passive",{get:function(){mi=!0}});window.addEventListener("test",null,hi)}catch(t){}}function fi(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function gi(t){for(var e=1;e
',trigger:"hover focus",offset:0},yi=[],wi=function(){function t(e,n){var i=this;qe()(this,t),Ne()(this,"_events",[]),Ne()(this,"_setTooltipNodeEvent",(function(t,e,n,o){var r=t.relatedreference||t.toElement||t.relatedTarget;return!!i._tooltipNode.contains(r)&&(i._tooltipNode.addEventListener(t.type,(function n(r){var a=r.relatedreference||r.toElement||r.relatedTarget;i._tooltipNode.removeEventListener(t.type,n),e.contains(a)||i._scheduleHide(e,o.delay,o,r)})),!0)})),n=gi(gi({},vi),n),e.jquery&&(e=e[0]),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.reference=e,this.options=n,this._isOpen=!1,this._init()}return De()(t,[{key:"show",value:function(){this._show(this.reference,this.options)}},{key:"hide",value:function(){this._hide()}},{key:"dispose",value:function(){this._dispose()}},{key:"toggle",value:function(){return this._isOpen?this.hide():this.show()}},{key:"setClasses",value:function(t){this._classes=t}},{key:"setContent",value:function(t){this.options.title=t,this._tooltipNode&&this._setContent(t,this.options)}},{key:"setOptions",value:function(t){var e=!1,n=t&&t.classes||Ei.options.defaultClass;Zn()(this._classes,n)||(this.setClasses(n),e=!0),t=Si(t);var i=!1,o=!1;for(var r in this.options.offset===t.offset&&this.options.placement===t.placement||(i=!0),(this.options.template!==t.template||this.options.trigger!==t.trigger||this.options.container!==t.container||e)&&(o=!0),t)this.options[r]=t[r];if(this._tooltipNode)if(o){var a=this._isOpen;this.dispose(),this._init(),a&&this.show()}else i&&this.popperInstance.update()}},{key:"_init",value:function(){var t="string"==typeof this.options.trigger?this.options.trigger.split(" "):[];this._isDisposed=!1,this._enableDocumentTouch=-1===t.indexOf("manual"),t=t.filter((function(t){return-1!==["click","hover","focus"].indexOf(t)})),this._setEventListeners(this.reference,t,this.options),this.$_originalTitle=this.reference.getAttribute("title"),this.reference.removeAttribute("title"),this.reference.setAttribute("data-original-title",this.$_originalTitle)}},{key:"_create",value:function(t,e){var n=this,i=window.document.createElement("div");i.innerHTML=e.trim();var o=i.childNodes[0];return o.id=this.options.ariaId||"tooltip_".concat(Math.random().toString(36).substr(2,10)),o.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(o.addEventListener("mouseenter",(function(e){return n._scheduleHide(t,n.options.delay,n.options,e)})),o.addEventListener("click",(function(e){return n._scheduleHide(t,n.options.delay,n.options,e)}))),o}},{key:"_setContent",value:function(t,e){var n=this;this.asyncContent=!1,this._applyContent(t,e).then((function(){n.popperInstance&&n.popperInstance.update()}))}},{key:"_applyContent",value:function(t,e){var n=this;return new Promise((function(i,o){var r=e.html,a=n._tooltipNode;if(a){var s=a.querySelector(n.options.innerSelector);if(1===t.nodeType){if(r){for(;s.firstChild;)s.removeChild(s.firstChild);s.appendChild(t)}}else{if("function"==typeof t){var l=t();return void(l&&"function"==typeof l.then?(n.asyncContent=!0,e.loadingClass&&pi(a,e.loadingClass),e.loadingContent&&n._applyContent(e.loadingContent,e),l.then((function(t){return e.loadingClass&&di(a,e.loadingClass),n._applyContent(t,e)})).then(i).catch(o)):n._applyContent(l,e).then(i).catch(o))}r?s.innerHTML=t:s.innerText=t}i()}}))}},{key:"_show",value:function(t,e){if(e&&"string"==typeof e.container&&!document.querySelector(e.container))return;clearTimeout(this._disposeTimer),delete(e=Object.assign({},e)).offset;var n=!0;this._tooltipNode&&(pi(this._tooltipNode,this._classes),n=!1);var i=this._ensureShown(t,e);return n&&this._tooltipNode&&pi(this._tooltipNode,this._classes),pi(t,["v-tooltip-open"]),i}},{key:"_ensureShown",value:function(t,e){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,yi.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(e.title,e),this;var i=t.getAttribute("title")||e.title;if(!i)return this;var o=this._create(t,e.template);this._tooltipNode=o,t.setAttribute("aria-describedby",o.id);var r=this._findContainer(e.container,t);this._append(o,r);var a=gi(gi({},e.popperOptions),{},{placement:e.placement});return a.modifiers=gi(gi({},a.modifiers),{},{arrow:{element:this.options.arrowSelector}}),e.boundariesElement&&(a.modifiers.preventOverflow={boundariesElement:e.boundariesElement}),this.popperInstance=new Xn(t,o,a),this._setContent(i,e),requestAnimationFrame((function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame((function(){n._isDisposed?n.dispose():n._isOpen&&o.setAttribute("aria-hidden","false")}))):n.dispose()})),this}},{key:"_noLongerOpen",value:function(){var t=yi.indexOf(this);-1!==t&&yi.splice(t,1)}},{key:"_hide",value:function(){var t=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var e=Ei.options.disposeTimeout;return null!==e&&(this._disposeTimer=setTimeout((function(){t._tooltipNode&&(t._tooltipNode.removeEventListener("mouseenter",t.hide),t._tooltipNode.removeEventListener("click",t.hide),t._removeTooltipNode())}),e)),di(this.reference,["v-tooltip-open"]),this}},{key:"_removeTooltipNode",value:function(){if(this._tooltipNode){var t=this._tooltipNode.parentNode;t&&(t.removeChild(this._tooltipNode),this.reference.removeAttribute("aria-describedby")),this._tooltipNode=null}}},{key:"_dispose",value:function(){var t=this;return this._isDisposed=!0,this.reference.removeAttribute("data-original-title"),this.$_originalTitle&&this.reference.setAttribute("title",this.$_originalTitle),this._events.forEach((function(e){var n=e.func,i=e.event;t.reference.removeEventListener(i,n)})),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||this._removeTooltipNode()):this._noLongerOpen(),this}},{key:"_findContainer",value:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t}},{key:"_append",value:function(t,e){e.appendChild(t)}},{key:"_setEventListeners",value:function(t,e,n){var i=this,o=[],r=[];e.forEach((function(t){switch(t){case"hover":o.push("mouseenter"),r.push("mouseleave"),i.options.hideOnTargetClick&&r.push("click");break;case"focus":o.push("focus"),r.push("blur"),i.options.hideOnTargetClick&&r.push("click");break;case"click":o.push("click"),r.push("click")}})),o.forEach((function(e){var o=function(e){!0!==i._isOpen&&(e.usedByTooltip=!0,i._scheduleShow(t,n.delay,n,e))};i._events.push({event:e,func:o}),t.addEventListener(e,o)})),r.forEach((function(e){var o=function(e){!0!==e.usedByTooltip&&i._scheduleHide(t,n.delay,n,e)};i._events.push({event:e,func:o}),t.addEventListener(e,o)}))}},{key:"_onDocumentTouch",value:function(t){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,t)}},{key:"_scheduleShow",value:function(t,e,n){var i=this,o=e&&e.show||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout((function(){return i._show(t,n)}),o)}},{key:"_scheduleHide",value:function(t,e,n,i){var o=this,r=e&&e.hide||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout((function(){if(!1!==o._isOpen&&o._tooltipNode.ownerDocument.body.contains(o._tooltipNode)){if("mouseleave"===i.type)if(o._setTooltipNodeEvent(i,t,e,n))return;o._hide(t,n)}}),r)}}]),t}();function bi(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function _i(t){for(var e=1;e
',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultOpenClass:"open",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function Si(t){var e={placement:void 0!==t.placement?t.placement:Ei.options.defaultPlacement,delay:void 0!==t.delay?t.delay:Ei.options.defaultDelay,html:void 0!==t.html?t.html:Ei.options.defaultHtml,template:void 0!==t.template?t.template:Ei.options.defaultTemplate,arrowSelector:void 0!==t.arrowSelector?t.arrowSelector:Ei.options.defaultArrowSelector,innerSelector:void 0!==t.innerSelector?t.innerSelector:Ei.options.defaultInnerSelector,trigger:void 0!==t.trigger?t.trigger:Ei.options.defaultTrigger,offset:void 0!==t.offset?t.offset:Ei.options.defaultOffset,container:void 0!==t.container?t.container:Ei.options.defaultContainer,boundariesElement:void 0!==t.boundariesElement?t.boundariesElement:Ei.options.defaultBoundariesElement,autoHide:void 0!==t.autoHide?t.autoHide:Ei.options.autoHide,hideOnTargetClick:void 0!==t.hideOnTargetClick?t.hideOnTargetClick:Ei.options.defaultHideOnTargetClick,loadingClass:void 0!==t.loadingClass?t.loadingClass:Ei.options.defaultLoadingClass,loadingContent:void 0!==t.loadingContent?t.loadingContent:Ei.options.defaultLoadingContent,popperOptions:_i({},void 0!==t.popperOptions?t.popperOptions:Ei.options.defaultPopperOptions)};if(e.offset){var n=Ie()(e.offset),i=e.offset;("number"===n||"string"===n&&-1===i.indexOf(","))&&(i="0, ".concat(i)),e.popperOptions.modifiers||(e.popperOptions.modifiers={}),e.popperOptions.modifiers.offset={offset:i}}return e.trigger&&-1!==e.trigger.indexOf("click")&&(e.hideOnTargetClick=!1),e}function Pi(t,e){for(var n=t.placement,i=0;i2&&void 0!==arguments[2]?arguments[2]:{},i=Ti(e),o=void 0!==e.classes?e.classes:Ei.options.defaultClass,r=_i({title:i},Si(_i(_i({},"object"===Ie()(e)?e:{}),{},{placement:Pi(e,n)}))),a=t._tooltip=new wi(t,r);a.setClasses(o),a._vueEl=t;var s=void 0!==e.targetClasses?e.targetClasses:Ei.options.defaultTargetClass;return t._tooltipTargetClasses=s,pi(t,s),a}(t,n,o),void 0!==n.show&&n.show!==t._tooltipOldShow&&(t._tooltipOldShow=n.show,n.show?i.show():i.hide())):Oi(t)}var Ei={options:Ci,bind:zi,update:zi,unbind:function(t){Oi(t)}};function Ai(t){t.addEventListener("click",Mi),t.addEventListener("touchstart",ji,!!mi&&{passive:!0})}function $i(t){t.removeEventListener("click",Mi),t.removeEventListener("touchstart",ji),t.removeEventListener("touchend",Bi),t.removeEventListener("touchcancel",Li)}function Mi(t){var e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function ji(t){if(1===t.changedTouches.length){var e=t.currentTarget;e.$_vclosepopover_touch=!0;var n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",Bi),e.addEventListener("touchcancel",Li)}}function Bi(t){var e=t.currentTarget;if(e.$_vclosepopover_touch=!1,1===t.changedTouches.length){var n=t.changedTouches[0],i=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-i.screenY)<20&&Math.abs(n.screenX-i.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function Li(t){t.currentTarget.$_vclosepopover_touch=!1}var Ii={bind:function(t,e){var n=e.value,i=e.modifiers;t.$_closePopoverModifiers=i,(void 0===n||n)&&Ai(t)},update:function(t,e){var n=e.value,i=e.oldValue,o=e.modifiers;t.$_closePopoverModifiers=o,n!==i&&(void 0===n||n?Ai(t):$i(t))},unbind:function(t){$i(t)}};function Wi(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function Ni(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},n=e.event;e.skipDelay;var i=e.force,o=void 0!==i&&i;!o&&this.disabled||(this.$_scheduleShow(n),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame((function(){t.$_beingShowed=!1}))},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.event;t.skipDelay,this.$_scheduleHide(e),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var t=this,e=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var i=this.$_findContainer(this.container,e);if(!i)return void console.warn("No container for popover",this);i.appendChild(n),this.$_mounted=!0,this.isOpen=!1,this.popperInstance&&requestAnimationFrame((function(){t.hidden||(t.isOpen=!0)}))}if(!this.popperInstance){var o=Ni(Ni({},this.popperOptions),{},{placement:this.placement});if(o.modifiers=Ni(Ni({},o.modifiers),{},{arrow:Ni(Ni({},o.modifiers&&o.modifiers.arrow),{},{element:this.$refs.arrow})}),this.offset){var r=this.$_getOffset();o.modifiers.offset=Ni(Ni({},o.modifiers&&o.modifiers.offset),{},{offset:r})}this.boundariesElement&&(o.modifiers.preventOverflow=Ni(Ni({},o.modifiers&&o.modifiers.preventOverflow),{},{boundariesElement:this.boundariesElement})),this.popperInstance=new Xn(e,n,o),requestAnimationFrame((function(){if(t.hidden)return t.hidden=!1,void t.$_hide();!t.$_isDisposed&&t.popperInstance?(t.popperInstance.scheduleUpdate(),requestAnimationFrame((function(){if(t.hidden)return t.hidden=!1,void t.$_hide();t.$_isDisposed?t.dispose():t.isOpen=!0}))):t.dispose()}))}var a=this.openGroup;if(a)for(var s,l=0;l1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),t)this.$_show();else{var e=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),e)}},$_scheduleHide:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var i=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout((function(){if(t.isOpen){if(e&&"mouseleave"===e.type)if(t.$_setTooltipNodeEvent(e))return;t.$_hide()}}),i)}},$_setTooltipNodeEvent:function(t){var e=this,n=this.$refs.trigger,i=this.$refs.popover,o=t.relatedreference||t.toElement||t.relatedTarget;return!!i.contains(o)&&(i.addEventListener(t.type,(function o(r){var a=r.relatedreference||r.toElement||r.relatedTarget;i.removeEventListener(t.type,o),n.contains(a)||e.hide({event:r})})),!0)},$_removeEventListeners:function(){var t=this.$refs.trigger;this.$_events.forEach((function(e){var n=e.func,i=e.event;t.removeEventListener(i,n)})),this.$_events=[]},$_updatePopper:function(t){this.popperInstance&&(t(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var t=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),t&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout((function(){e.$_preventOpen=!1}),300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function Vi(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=function(n){var i=Ri[n];if(i.$refs.popover){var o=i.$refs.popover.contains(t.target);requestAnimationFrame((function(){(t.closeAllPopover||t.closePopover&&o||i.autoHide&&!o)&&i.$_handleGlobalClose(t,e)}))}},i=0;i1&&void 0!==arguments[1]?arguments[1]:{};if(!t.installed){t.installed=!0;var i={};li()(i,Ci,n),Ji.options=i,Ei.options=i,e.directive("tooltip",Ei),e.directive("close-popover",Ii),e.component("VPopover",Ki)}},get enabled(){return ki.enabled},set enabled(t){ki.enabled=t}},Xi=null;"undefined"!=typeof window?Xi=window.Vue:"undefined"!=typeof global&&(Xi=global.Vue),Xi&&Xi.use(Ji);var Qi=Ji;n(276);i.a.component("AButton",()=>Promise.all([n.e(0),n.e(24)]).then(n.bind(null,495))),i.a.component("ABackToTop",()=>n.e(58).then(n.bind(null,496))),i.a.component("AChangelog",()=>n.e(59).then(n.bind(null,497))),i.a.component("ACommentCount",()=>Promise.all([n.e(0),n.e(25)]).then(n.bind(null,498))),i.a.component("AControl",()=>Promise.all([n.e(0),n.e(26)]).then(n.bind(null,499))),i.a.component("ADeeplink",()=>n.e(60).then(n.bind(null,500))),i.a.component("ACreated",()=>Promise.all([n.e(0),n.e(27)]).then(n.bind(null,501))),i.a.component("AGoogleAd",()=>Promise.all([n.e(0),n.e(28)]).then(n.bind(null,502))),i.a.component("AIcon",()=>Promise.all([n.e(0),n.e(29)]).then(n.bind(null,503))),i.a.component("AKey",()=>n.e(61).then(n.bind(null,504))),i.a.component("ANotation",()=>Promise.all([n.e(0),n.e(30)]).then(n.bind(null,505))),i.a.component("ARedirect",()=>n.e(62).then(n.bind(null,506))),i.a.component("ASponsorAd",()=>Promise.all([n.e(0),n.e(31)]).then(n.bind(null,507))),i.a.component("ATextToSpeech",()=>n.e(63).then(n.bind(null,508))),i.a.component("AThemeToggle",()=>n.e(64).then(n.bind(null,509))),i.a.component("AUpdated",()=>Promise.all([n.e(0),n.e(32)]).then(n.bind(null,510))),i.a.component("GAffiliates",()=>Promise.all([n.e(0),n.e(54),n.e(33)]).then(n.bind(null,511))),i.a.component("GSiteSettings",()=>Promise.all([n.e(0),n.e(3),n.e(34)]).then(n.bind(null,512))),i.a.component("MAccessLinks",()=>Promise.all([n.e(0),n.e(39)]).then(n.bind(null,513))),i.a.component("MBlogMeta",()=>Promise.all([n.e(0),n.e(41)]).then(n.bind(null,514))),i.a.component("MBlogLinks",()=>Promise.all([n.e(0),n.e(40)]).then(n.bind(null,515))),i.a.component("MBlogTagList",()=>Promise.all([n.e(0),n.e(15)]).then(n.bind(null,516))),i.a.component("MBlogTagNav",()=>Promise.all([n.e(0),n.e(42)]).then(n.bind(null,517))),i.a.component("MComments",()=>Promise.all([n.e(0),n.e(43)]).then(n.bind(null,518))),i.a.component("MEmailSender",()=>Promise.all([n.e(0),n.e(44)]).then(n.bind(null,519))),i.a.component("MFeatures",()=>Promise.all([n.e(0),n.e(45)]).then(n.bind(null,520))),i.a.component("MFooter",()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,521))),i.a.component("MSocialLinks",()=>Promise.all([n.e(0),n.e(46)]).then(n.bind(null,522))),i.a.component("Home-Hero",()=>Promise.all([n.e(0),n.e(9)]).then(n.bind(null,487))),i.a.component("Home-Preview",()=>Promise.all([n.e(0),n.e(35)]).then(n.bind(null,523))),i.a.component("Home-Reviews",()=>Promise.all([n.e(0),n.e(36)]).then(n.bind(null,524))),i.a.component("Home-Section",()=>Promise.all([n.e(0),n.e(37)]).then(n.bind(null,525))),i.a.component("Home-Videos",()=>Promise.all([n.e(0),n.e(38)]).then(n.bind(null,526))),i.a.component("Badge",()=>Promise.all([n.e(0),n.e(21)]).then(n.bind(null,592))),i.a.component("CodeGroup",()=>Promise.all([n.e(0),n.e(23)]).then(n.bind(null,527))),i.a.component("CodeBlock",()=>Promise.all([n.e(0),n.e(22)]).then(n.bind(null,528)));n(277),n(278);function Zi(t){const e=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{x:n.left-e.left,y:n.top-e.top}}var to={tag:{tips:{key:"tips",scope:"tag",path:"/blog/tag/tips/",pageKeys:["v-79f79f20","v-ac7b70bc","v-469b7b80","v-4b7e6c3c","v-fbbdb2e0","v-26dc8250","v-44a529fc","v-301172dc"]},sharing:{key:"sharing",scope:"tag",path:"/blog/tag/sharing/",pageKeys:["v-79f79f20","v-667fa73c","v-2fec31fc","v-ff74563c","v-ac7b70bc","v-fbbdb2e0","v-26dc8250","v-4182c7bc","v-bfc8be7c"]},technical:{key:"technical",scope:"tag",path:"/blog/tag/technical/",pageKeys:["v-01aa2ce2","v-2fec31fc","v-ff74563c","v-4b7e6c3c","v-1131db82","v-4182c7bc","v-bfc8be7c","v-72bfdbc2"]},random:{key:"random",scope:"tag",path:"/blog/tag/random/",pageKeys:["v-667fa73c","v-469b7b80"]},"win7-simu":{key:"win7-simu",scope:"tag",path:"/blog/tag/win7-simu/",pageKeys:["v-2fec31fc","v-ac7b70bc","v-4b7e6c3c","v-fbbdb2e0","v-194e1218","v-4182c7bc","v-44a529fc","v-bfc8be7c","v-3424310c","v-301172dc"]},"brick-1100":{key:"brick-1100",scope:"tag",path:"/blog/tag/brick-1100/",pageKeys:["v-ff74563c","v-194e1218"]},review:{key:"review",scope:"tag",path:"/blog/tag/review/",pageKeys:["v-194e1218","v-3424310c"]},tools:{key:"tools",scope:"tag",path:"/blog/tag/tools/",pageKeys:["v-1131db82","v-72bfdbc2"]}}};class eo{constructor(t,e){this._metaMap=Object.assign({},t),Object.keys(this._metaMap).forEach(t=>{const{pageKeys:n}=this._metaMap[t];this._metaMap[t].pages=n.map(t=>function(t,e){for(let n=0;n{const{pages:n,path:i}=this._metaMap[e];t.push({name:e,pages:n,path:i})}),t}getItemByName(t){return this._metaMap[t]}}var no={tag:(t,e)=>{const i=n(279);return i(t.frontmatter.date)-i(e.frontmatter.date)>0?-1:1}},io={tag:function(t,e,n){const i=e;return["tag","tags"].some(e=>{const n=t.frontmatter[e];return Array.isArray(n)?n.some(t=>t==i):n==i})}},oo=[{pid:"tag",id:"tips",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/tips/",interval:[0,8]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"sharing",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/sharing/",interval:[0,9]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"technical",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/technical/",interval:[0,8]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"random",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/random/",interval:[0,2]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"win7-simu",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/win7-simu/",interval:[0,9]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"brick-1100",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/brick-1100/",interval:[0,2]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"review",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/review/",interval:[0,2]}],prevText:"Prev",nextText:"Next"},{pid:"tag",id:"tools",filter:io.tag,sorter:no.tag,pages:[{path:"/blog/tag/tools/",interval:[0,2]}],prevText:"Prev",nextText:"Next"}],ro=n(125);const ao=n.n(ro)()("plugin-blog:pagination");class so{constructor(t,e,n){ao("pagination",t);const{pages:i,prevText:o,nextText:r}=t,{path:a}=n;this._prevText=o,this._nextText=r;for(let t=0,e=i.length;tt.filter(e,t.id,t.pid)).sort(t.sorter)}setIndexPage(t){this._indexPage=t}get length(){return this._paginationPages.length}get pages(){const[t,e]=this._currentPage.interval;return this._matchedPages.slice(t,e+1)}get hasPrev(){return 0!==this.paginationIndex}get prevLink(){return this.hasPrev?this.paginationIndex-1==0&&this._indexPage?this._indexPage:this._paginationPages[this.paginationIndex-1].path:null}get hasNext(){return this.paginationIndex!==this.length-1}get nextLink(){return this.hasNext?this._paginationPages[this.paginationIndex+1].path:null}get prevText(){return this._prevText}get nextText(){return this._nextText}getSpecificPageLink(t){return this._paginationPages[t].path}}const lo=new class{constructor(t){this.paginations=t}get pages(){return i.a.$vuepress.$get("siteData").pages}getPagination(t,e,n){ao("id",e),ao("pid",t);const i=this.paginations.filter(n=>n.id===e&&n.pid===t)[0];return new so(i,this.pages,n)}}(oo);var co={comment:{enabled:!1,service:""},email:{enabled:!1},feed:{rss:!0,atom:!0,json:!0}},uo={created(){void 0!==this.$ssrContext&&(this.$ssrContext.userHeadTags+=``)},methods:{computeURL(){return"https://visnalize.com"+this.$page.path}}},po=Object($e.a)(uo,(function(){return(0,this._self._c)("div")}),[],!1,null,null,null).exports,mo=n(107),ho=n.n(mo);i.a.component("TextToSpeech",()=>n.e(57).then(n.bind(null,593)));var fo=[({Vue:t,options:e,router:n,siteData:i})=>{t.use(Qi)},{},({Vue:t})=>{t.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{},({Vue:t,router:e})=>{e.options.scrollBehavior=(e,n,i)=>{if(i)return window.scrollTo({top:i.y,behavior:"smooth"});if(e.hash){if(t.$vuepress.$get("disableScrollBehavior"))return!1;const n=document.querySelector(e.hash);return!!n&&window.scrollTo({top:Zi(n).y,behavior:"smooth"})}return window.scrollTo({top:0,behavior:"smooth"})}},({Vue:t})=>{const e=Object.keys(to).map(t=>{const e=to[t],n="$"+t;return{[n](){const{pages:t}=this.$site;return new eo(e,t)},["$current"+(t.charAt(0).toUpperCase()+t.slice(1))](){const t=this.$route.meta.id;return this[n].getItemByName(t)}}}).reduce((t,e)=>(Object.assign(t,e),t),{});e.$frontmatterKey=function(){const t=this["$"+this.$route.meta.id];return t||null},t.mixin({computed:e})},({Vue:t})=>{t.mixin({computed:{$pagination(){return this.$route.meta.pid&&this.$route.meta.id?this.$getPagination(this.$route.meta.pid,this.$route.meta.id):null}},methods:{$getPagination(t,e){return e=e||t,lo.getPagination(t,e,this.$route)}}})},({Vue:t})=>{const e={$service:()=>co};t.mixin({computed:e})},({Vue:t,options:e})=>{t.component("Canonical",po)},ho.a,({Vue:t})=>{const e=JSON.parse('{"shortname":"visnalize"}'),i=e.name||"Disqus",o=()=>n.e(56).then(n.bind(null,529));delete e.name,t.component(i,{functional:!0,render(t,{parent:n,props:i}){let r;if(r="en-US"===n.$lang?"en":n.$lang.replace(/\-/,"_"),n._isMounted)return t(o,{props:Object.assign({language:r},e,i)});n.$once("hook:mounted",()=>{n.$forceUpdate()})}})},{}],go=["GSiteSettings","GAffiliates","Canonical"];class vo extends class{constructor(){this.store=new i.a({data:{state:{}}})}$get(t){return this.store.state[t]}$set(t,e){i.a.set(this.store.state,t,e)}$emit(...t){this.store.$emit(...t)}$on(...t){this.store.$on(...t)}}{}Object.assign(vo.prototype,{getPageAsyncComponent:le,getLayoutAsyncComponent:ce,getAsyncComponent:ue,getVueComponent:pe});var yo={install(t){const e=new vo;t.$vuepress=e,t.prototype.$vuepress=e}};function wo(t,e){const n=e.toLowerCase();return t.options.routes.some(t=>t.path.toLowerCase()===n)}var bo={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(t){const e=this.pageKey||this.$parent.$page.key;return me("pageKey",e),i.a.component(e)||i.a.component(e,le(e)),i.a.component(e)?t(e):t("")}},_o={functional:!0,props:{slotKey:String,required:!0},render:(t,{props:e,slots:n})=>t("div",{class:["content__"+e.slotKey]},n()[e.slotKey])},ko={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},xo=(n(310),n(311),Object($e.a)(ko,(function(){var t=this._self._c;return t("span",[t("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[t("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),t("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),t("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),Co={functional:!0,render(t,{parent:e,children:n}){if(e._isMounted)return n;e.$once("hook:mounted",()=>{e.$forceUpdate()})}};i.a.config.productionTip=!1,i.a.use(Ht),i.a.use(yo),i.a.mixin(function(t,e,n=i.a){!function(t){t.locales&&Object.keys(t.locales).forEach(e=>{t.locales[e].path=e});Object.freeze(t)}(e),n.$vuepress.$set("siteData",e);const o=new(t(n.$vuepress.$get("siteData"))),r=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(o)),a={};return Object.keys(r).reduce((t,e)=>(e.startsWith("$")&&(t[e]=r[e].get),t),a),{computed:a}}(t=>class{setPage(t){this.__page=t}get $site(){return t}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:t={}}=this.$site;let e,n;for(const i in t)"/"===i?n=t[i]:0===this.$page.path.indexOf(i)&&(e=t[i]);return e||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:t}=this.$page.frontmatter;return"string"==typeof t&&t}get $title(){const t=this.$page,{metaTitle:e}=this.$page.frontmatter;if("string"==typeof e)return e;const n=this.$siteTitle,i=t.frontmatter.home?null:t.frontmatter.title||t.title;return n?i?i+" | "+n:n:i||"VuePress"}get $description(){const t=function(t){if(t){const e=t.filter(t=>"description"===t.name)[0];if(e)return e.content}}(this.$page.frontmatter.meta);return t||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(t,e){for(let n=0;nn||(t.hash?!i.a.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(t.hash)}:{x:0,y:0})});!function(t){t.beforeEach((e,n,i)=>{if(wo(t,e.path))i();else if(/(\/|\.html)$/.test(e.path))if(/\/$/.test(e.path)){const n=e.path.replace(/\/$/,"")+".html";wo(t,n)?i(n):i()}else i();else{const n=e.path+"/",o=e.path+".html";wo(t,o)?i(o):wo(t,n)?i(n):i()}})}(n);const o={};try{await Promise.all(fo.filter(t=>"function"==typeof t).map(e=>e({Vue:i.a,options:o,router:n,siteData:Be,isServer:t})))}catch(t){console.error(t)}return{app:new i.a(Object.assign(o,{router:n,render:t=>t("div",{attrs:{id:"app"}},[t("RouterView",{ref:"layout"}),t("div",{class:"global-ui"},go.map(e=>t(e)))])})),router:n}}(!1).then(({app:t,router:e})=>{e.onReady(()=>{t.$mount("#app")})})}]); \ No newline at end of file diff --git a/blog/about-the-ads.html b/blog/about-the-ads.html index 793da664..438cb8e1 100644 --- a/blog/about-the-ads.html +++ b/blog/about-the-ads.html @@ -37,8 +37,8 @@ - - + +
Copyright © 2021 - present. All Rights Reserved
+ diff --git a/blog/tag/sharing/index.html b/blog/tag/sharing/index.html index 469ec724..7f9a38b1 100644 --- a/blog/tag/sharing/index.html +++ b/blog/tag/sharing/index.html @@ -33,8 +33,8 @@ - - + +
Copyright © 2021 - present. All Rights Reserved
+ diff --git a/blog/tag/technical/index.html b/blog/tag/technical/index.html index 37cdd14b..62708123 100644 --- a/blog/tag/technical/index.html +++ b/blog/tag/technical/index.html @@ -33,8 +33,8 @@ - - + +
Copyright © 2021 - present. All Rights Reserved
+ diff --git a/blog/tag/tips/index.html b/blog/tag/tips/index.html index c7948ebb..8db04e55 100644 --- a/blog/tag/tips/index.html +++ b/blog/tag/tips/index.html @@ -33,8 +33,8 @@ - - + +
Copyright © 2021 - present. All Rights Reserved
+ diff --git a/blog/tag/tools/index.html b/blog/tag/tools/index.html index b20e922a..f60a4718 100644 --- a/blog/tag/tools/index.html +++ b/blog/tag/tools/index.html @@ -33,8 +33,8 @@ - - + +
Copyright © 2021 - present. All Rights Reserved
+ diff --git a/blog/tag/win7-simu/index.html b/blog/tag/win7-simu/index.html index e08ddceb..a293af83 100644 --- a/blog/tag/win7-simu/index.html +++ b/blog/tag/win7-simu/index.html @@ -33,8 +33,8 @@ - - + +
Copyright © 2021 - present. All Rights Reserved
+ diff --git a/blog/tag/win7-simu/page/2/index.html b/blog/tag/win7-simu/page/2/index.html new file mode 100644 index 00000000..c9fd4a8d --- /dev/null +++ b/blog/tag/win7-simu/page/2/index.html @@ -0,0 +1,123 @@ + + + + + + Page 2 - win7-simu | Tag | Visnalize + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blog/visnalize-year-in-review-2023.html b/blog/visnalize-year-in-review-2023.html index b057725c..c5a9b62e 100644 --- a/blog/visnalize-year-in-review-2023.html +++ b/blog/visnalize-year-in-review-2023.html @@ -37,8 +37,8 @@ - - + +
- + diff --git a/blog/why-side-hustle.html b/blog/why-side-hustle.html index 1455d354..c61fb621 100644 --- a/blog/why-side-hustle.html +++ b/blog/why-side-hustle.html @@ -37,8 +37,8 @@ - - + +
- + diff --git a/blog/win7-icons-viewer-downloader.html b/blog/win7-icons-viewer-downloader.html index 4aa0a507..961f47f0 100644 --- a/blog/win7-icons-viewer-downloader.html +++ b/blog/win7-icons-viewer-downloader.html @@ -37,8 +37,8 @@ - - + +
- + diff --git a/blog/win7-simu-custom-cursors.html b/blog/win7-simu-custom-cursors.html new file mode 100644 index 00000000..eebe0ede --- /dev/null +++ b/blog/win7-simu-custom-cursors.html @@ -0,0 +1,133 @@ + + + + + + Implementing custom cursors in Win7 Simu | Visnalize + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

# Implementing custom cursors in Win7 Simu

10/3/2024, 4:06:22 AM

Win7 Simu mouse settings

The mouse settings window captured with the simulated Snipping Tool in Win7 Simu

We are back with another technical post on Win7 Simu! This time, let's dive into how the mouse cursors are implemented in a web project like Win7 Simu, the challenges faced, and some caveats to keep in mind. Hopefully, this post will also be useful for those working on a custom cursor implementation in their web projects. Let's get started!

# The idea

As a simulator, Win7 Simu aims to provide an experience as close to the actual Windows 7 as possible. This includes the mouse settings, which allows users to customize the cursor in the Control Panel. However, due to the limitations of web techs, and the fact that Win7 Simu also runs on mobile devices, the implementation of custom cursors requires some creativity and compromises to achieve a shared experience across all platforms.

At a high level, the custom cursor implementation for Win7 Simu as a web project involves the following considerations:

  • The availability of the cursor images: the cursor requires instant switching between different images upon user interaction with the elements on the page. This means all the cursor images need to be preloaded and ready to be used at any time.
  • A dummy presentation of the custom cursor: the actual mouse cursor is hidden and the cursor images are rendered on a dummy element that follows the actual mouse cursor/touch position on the screen. This ensures the custom cursor's behavior is consistent across different platforms and avoid the unnecessity of handling the implementation deviations.
  • Keeping track of the custom cursor: the cursor state needs to be tracked and updated based on the user interaction with the elements on the page. This is done from the code logic and has to be efficient to avoid any performance issues.

# The implementation

If Win7 Simu were not developed for mobile devices, the custom cursor implementation would be as simple as 1 single line of CSS to change the cursor image on the actual mouse cursor.

# The future

Last Updated: 10/3/2024, 4:06:22 AM

Comments

+ + + diff --git a/blog/win7-simu-file-explorer.html b/blog/win7-simu-file-explorer.html index 5a6e59b8..56d5f0cb 100644 --- a/blog/win7-simu-file-explorer.html +++ b/blog/win7-simu-file-explorer.html @@ -37,8 +37,8 @@ - - + +
- + diff --git a/blog/win7-simu-mobile-devices.html b/blog/win7-simu-mobile-devices.html index 08589017..cf772140 100644 --- a/blog/win7-simu-mobile-devices.html +++ b/blog/win7-simu-mobile-devices.html @@ -37,8 +37,8 @@ - - + +
- + diff --git a/blog/win7-simu-windows-media-center.html b/blog/win7-simu-windows-media-center.html index 2c075238..26118ac0 100644 --- a/blog/win7-simu-windows-media-center.html +++ b/blog/win7-simu-windows-media-center.html @@ -37,8 +37,8 @@ - - + +
- +
  • + Guest Post +
  • Last Updated: 10/3/2024, 4:06:22 AM

    Comments

    + diff --git a/blog/win7-simu-year-in-review-2022.html b/blog/win7-simu-year-in-review-2022.html index 83cb8c1f..40bd159b 100644 --- a/blog/win7-simu-year-in-review-2022.html +++ b/blog/win7-simu-year-in-review-2022.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/win7-ui-introduction.html b/blog/win7-ui-introduction.html index 7feb285c..f613c065 100644 --- a/blog/win7-ui-introduction.html +++ b/blog/win7-ui-introduction.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/windows-resources.html b/blog/windows-resources.html index d2962740..77f1d26b 100644 --- a/blog/windows-resources.html +++ b/blog/windows-resources.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/brick1100/about.html b/brick1100/about.html index 620ff5c1..80484296 100644 --- a/brick1100/about.html +++ b/brick1100/about.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/brick1100/builders.html b/brick1100/builders.html index 6be39310..253aff7a 100644 --- a/brick1100/builders.html +++ b/brick1100/builders.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/brick1100/changelog.html b/brick1100/changelog.html index 158b2570..9fb6b141 100644 --- a/brick1100/changelog.html +++ b/brick1100/changelog.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/brick1100/deep-links.html b/brick1100/deep-links.html index 42014cee..31d621bb 100644 --- a/brick1100/deep-links.html +++ b/brick1100/deep-links.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/brick1100/games.html b/brick1100/games.html index 4f395f9c..2a464874 100644 --- a/brick1100/games.html +++ b/brick1100/games.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/brick1100/index.html b/brick1100/index.html index 100ca83b..f69413f6 100644 --- a/brick1100/index.html +++ b/brick1100/index.html @@ -33,8 +33,8 @@ - - + +
    - + diff --git a/brick1100/privacy.html b/brick1100/privacy.html index 5eea1e24..09dac2e2 100644 --- a/brick1100/privacy.html +++ b/brick1100/privacy.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/contact.html b/contact.html index 09ba1e3d..79764541 100644 --- a/contact.html +++ b/contact.html @@ -33,8 +33,8 @@ - - + +
    - + diff --git a/feed.atom b/feed.atom index 7c5d4d89..f70f50da 100644 --- a/feed.atom +++ b/feed.atom @@ -2,24 +2,16 @@ https://visnalize.com Visnalize - 2024-10-03T04:07:00.568Z + 2024-10-03T04:07:31.611Z https://github.com/webmasterish/vuepress-plugin-feed - - <![CDATA[About the ads and how I implement them]]> - https://visnalize.com/blog/about-the-ads.html - - - 2024-10-03T04:07:00.560Z - - <![CDATA[How I built visnalize.com]]> https://visnalize.com/blog/building-visnalize-com.html - 2024-10-03T04:07:00.560Z + 2024-10-03T04:07:31.601Z @@ -27,15 +19,23 @@ https://visnalize.com/blog/concealing-online-identity.html - 2024-10-03T04:07:00.561Z + 2024-10-03T04:07:31.602Z + + <![CDATA[About the ads and how I implement them]]> + https://visnalize.com/blog/about-the-ads.html + + + 2024-10-03T04:07:31.602Z + + <![CDATA[How I built Win7 Simu]]> https://visnalize.com/blog/building-win7-simu.html - 2024-10-03T04:07:00.561Z + 2024-10-03T04:07:31.602Z @@ -43,47 +43,47 @@ https://visnalize.com/blog/from-codepen-to-app.html - 2024-10-03T04:07:00.561Z + 2024-10-03T04:07:31.602Z - - <![CDATA[Turning my side project into a side hustle]]> - https://visnalize.com/blog/from-side-project-to-side-hustle.html - - - 2024-10-03T04:07:00.561Z - - <![CDATA[How to add more games to Game Stick Lite 4K]]> https://visnalize.com/blog/game-stick-lite-4k-adding-games.html - 2024-10-03T04:07:00.561Z + 2024-10-03T04:07:31.602Z - <![CDATA[How to get iframes to load any websites]]> - https://visnalize.com/blog/load-any-websites-in-iframes.html - + <![CDATA[Turning my side project into a side hustle]]> + https://visnalize.com/blog/from-side-project-to-side-hustle.html + - 2024-10-03T04:07:00.561Z - + 2024-10-03T04:07:31.602Z + <![CDATA[📝 Blog]]> https://visnalize.com/blog/ - 2024-10-03T04:07:00.561Z + 2024-10-03T04:07:31.602Z + + <![CDATA[How to get iframes to load any websites]]> + https://visnalize.com/blog/load-any-websites-in-iframes.html + + + 2024-10-03T04:07:31.602Z + + <![CDATA[Simulators and Emulators: What's the difference?]]> https://visnalize.com/blog/simulator-vs-emulator.html - 2024-10-03T04:07:00.561Z + 2024-10-03T04:07:31.602Z @@ -91,7 +91,7 @@ https://visnalize.com/blog/visnalize-year-in-review-2023.html - 2024-10-03T04:07:00.561Z + 2024-10-03T04:07:31.602Z @@ -99,7 +99,7 @@ https://visnalize.com/blog/why-side-hustle.html - 2024-10-03T04:07:00.562Z + 2024-10-03T04:07:31.603Z @@ -107,23 +107,23 @@ https://visnalize.com/blog/win7-icons-viewer-downloader.html - 2024-10-03T04:07:00.562Z + 2024-10-03T04:07:31.603Z - <![CDATA[Implementing File Explorer in Win7 Simu]]> - https://visnalize.com/blog/win7-simu-file-explorer.html - + <![CDATA[Implementing custom cursors in Win7 Simu]]> + https://visnalize.com/blog/win7-simu-custom-cursors.html + - 2024-10-03T04:07:00.562Z - + 2024-10-03T04:07:31.603Z + <![CDATA[Win7 Simu versus mobile devices]]> https://visnalize.com/blog/win7-simu-mobile-devices.html - 2024-10-03T04:07:00.562Z + 2024-10-03T04:07:31.603Z @@ -131,15 +131,23 @@ https://visnalize.com/blog/win7-simu-windows-media-center.html - 2024-10-03T04:07:00.562Z + 2024-10-03T04:07:31.603Z + + <![CDATA[Implementing File Explorer in Win7 Simu]]> + https://visnalize.com/blog/win7-simu-file-explorer.html + + + 2024-10-03T04:07:31.603Z + + <![CDATA[Win7 Simu year in review - 2022]]> https://visnalize.com/blog/win7-simu-year-in-review-2022.html - 2024-10-03T04:07:00.562Z + 2024-10-03T04:07:31.603Z @@ -147,7 +155,7 @@ https://visnalize.com/blog/win7-ui-introduction.html - 2024-10-03T04:07:00.562Z + 2024-10-03T04:07:31.603Z @@ -155,7 +163,7 @@ https://visnalize.com/blog/windows-resources.html - 2024-10-03T04:07:00.562Z + 2024-10-03T04:07:31.603Z \ No newline at end of file diff --git a/feed.json b/feed.json index 2ca26059..fc208043 100644 --- a/feed.json +++ b/feed.json @@ -4,21 +4,13 @@ "home_page_url": "https://visnalize.com", "feed_url": "https://visnalize.com/feed.json", "items": [ - { - "id": "https://visnalize.com/blog/about-the-ads.html", - "url": "https://visnalize.com/blog/about-the-ads.html", - "title": "About the ads and how I implement them", - "summary": "A couple of things about ads and how I implement them within my websites and apps", - "image": "https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80", - "date_modified": "2024-10-03T04:07:00.560Z" - }, { "id": "https://visnalize.com/blog/building-visnalize-com.html", "url": "https://visnalize.com/blog/building-visnalize-com.html", "title": "How I built visnalize.com", "summary": "Read about the progress and how I built the visnalize.com website for my own brand", "image": "https://images.unsplash.com/photo-1461749280684-dccba630e2f6?auto=format&fit=crop&w=740&q=80", - "date_modified": "2024-10-03T04:07:00.560Z" + "date_modified": "2024-10-03T04:07:31.601Z" }, { "id": "https://visnalize.com/blog/concealing-online-identity.html", @@ -26,7 +18,15 @@ "title": "Why I choose to conceal my online identity", "summary": "My takes on internet privacy and why I choose to conceal mine.", "image": "https://visnalize.com/assets/covers/concealing-online-identity.jpg", - "date_modified": "2024-10-03T04:07:00.561Z" + "date_modified": "2024-10-03T04:07:31.602Z" + }, + { + "id": "https://visnalize.com/blog/about-the-ads.html", + "url": "https://visnalize.com/blog/about-the-ads.html", + "title": "About the ads and how I implement them", + "summary": "A couple of things about ads and how I implement them within my websites and apps", + "image": "https://images.unsplash.com/photo-1546142711-1e28c0540deb?auto=format&fit=crop&w=740&q=80", + "date_modified": "2024-10-03T04:07:31.602Z" }, { "id": "https://visnalize.com/blog/building-win7-simu.html", @@ -34,7 +34,7 @@ "title": "How I built Win7 Simu", "summary": "Read about my journey with Win7 Simu, how it all started and unveiling some boring technical stuff behind the scene", "image": "https://visnalize.com/assets/covers/building-win7-simu.jpg", - "date_modified": "2024-10-03T04:07:00.561Z" + "date_modified": "2024-10-03T04:07:31.602Z" }, { "id": "https://visnalize.com/blog/from-codepen-to-app.html", @@ -42,15 +42,7 @@ "title": "Turning my CodePen into an actual app", "summary": "From a simple idea, what merely looked like a playful demo on CodePen, but turned into a full-fledged app", "image": "https://visnalize.com/assets/covers/from-codepen-to-app.png", - "date_modified": "2024-10-03T04:07:00.561Z" - }, - { - "id": "https://visnalize.com/blog/from-side-project-to-side-hustle.html", - "url": "https://visnalize.com/blog/from-side-project-to-side-hustle.html", - "title": "Turning my side project into a side hustle", - "summary": "From a side project for learning to a side hustle with recurring revenue, read about how I did it, the process, the tools, the tips and tricks.", - "image": "https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ=", - "date_modified": "2024-10-03T04:07:00.561Z" + "date_modified": "2024-10-03T04:07:31.602Z" }, { "id": "https://visnalize.com/blog/game-stick-lite-4k-adding-games.html", @@ -58,15 +50,15 @@ "title": "How to add more games to Game Stick Lite 4K", "summary": "How to add games to Game Stick Lite 4K and enjoy more of your childhood games", "image": "https://visnalize.com/assets/covers/game-stick-4k-lite.jpg", - "date_modified": "2024-10-03T04:07:00.561Z" + "date_modified": "2024-10-03T04:07:31.602Z" }, { - "id": "https://visnalize.com/blog/load-any-websites-in-iframes.html", - "url": "https://visnalize.com/blog/load-any-websites-in-iframes.html", - "title": "How to get iframes to load any websites", - "summary": "The most effective way to get iframes embedded in your web apps to load any websites", - "image": "https://visnalize.com/assets/covers/load-any-websites-in-iframes.png", - "date_modified": "2024-10-03T04:07:00.561Z" + "id": "https://visnalize.com/blog/from-side-project-to-side-hustle.html", + "url": "https://visnalize.com/blog/from-side-project-to-side-hustle.html", + "title": "Turning my side project into a side hustle", + "summary": "From a side project for learning to a side hustle with recurring revenue, read about how I did it, the process, the tools, the tips and tricks.", + "image": "https://media.istockphoto.com/id/1349329446/photo/dollars-cash-money-and-paper-note-with-text-written-extra-income-concept-of-financial.jpg?s=1024x1024&w=is&k=20&c=RXsEpU41u0Yke-ol53PoirkXHTOliHGfvijnYipidtQ=", + "date_modified": "2024-10-03T04:07:31.602Z" }, { "id": "https://visnalize.com/blog/", @@ -74,7 +66,15 @@ "title": "📝 Blog", "summary": "Helpful insights, sharing, tips and tricks on various topics from Visnalize, the creator of Win7 Simu, Brick 1100, and more", "image": "https://image.social/get?url=visnalize.com/blog/", - "date_modified": "2024-10-03T04:07:00.561Z" + "date_modified": "2024-10-03T04:07:31.602Z" + }, + { + "id": "https://visnalize.com/blog/load-any-websites-in-iframes.html", + "url": "https://visnalize.com/blog/load-any-websites-in-iframes.html", + "title": "How to get iframes to load any websites", + "summary": "The most effective way to get iframes embedded in your web apps to load any websites", + "image": "https://visnalize.com/assets/covers/load-any-websites-in-iframes.png", + "date_modified": "2024-10-03T04:07:31.602Z" }, { "id": "https://visnalize.com/blog/simulator-vs-emulator.html", @@ -82,7 +82,7 @@ "title": "Simulators and Emulators: What's the difference?", "summary": "Understand the differences between simulators and emulators, what they mean for Win7 Simu.", "image": "https://visnalize.com/assets/covers/simulators-vs-emulators.png", - "date_modified": "2024-10-03T04:07:00.561Z" + "date_modified": "2024-10-03T04:07:31.602Z" }, { "id": "https://visnalize.com/blog/visnalize-year-in-review-2023.html", @@ -90,7 +90,7 @@ "title": "Visnalize year in review - 2023", "summary": "Look back at some amazing achievements from Visnalize in 2023.", "image": "https://images.unsplash.com/photo-1579952775264-625f17561a5d?auto=format&fit=crop&w=740&q=80", - "date_modified": "2024-10-03T04:07:00.561Z" + "date_modified": "2024-10-03T04:07:31.602Z" }, { "id": "https://visnalize.com/blog/why-side-hustle.html", @@ -98,7 +98,7 @@ "title": "Why you should have a side hustle", "summary": "Some personal sharing about reasons and benefits of having a side hustle.", "image": "https://visnalize.com/assets/covers/why-side-hustle.jpg", - "date_modified": "2024-10-03T04:07:00.562Z" + "date_modified": "2024-10-03T04:07:31.603Z" }, { "id": "https://visnalize.com/blog/win7-icons-viewer-downloader.html", @@ -106,15 +106,15 @@ "title": "Windows 7 icon Viewer/Downloader", "summary": "A simple tool to view and download Windows 7 icon collection.", "image": "https://visnalize.com/assets/covers/win7-icons-viewer-downloader.jpg", - "date_modified": "2024-10-03T04:07:00.562Z" + "date_modified": "2024-10-03T04:07:31.603Z" }, { - "id": "https://visnalize.com/blog/win7-simu-file-explorer.html", - "url": "https://visnalize.com/blog/win7-simu-file-explorer.html", - "title": "Implementing File Explorer in Win7 Simu", - "summary": "Some key points to share about how Win7 Simu's File Explorer is implemented.", - "image": "https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80", - "date_modified": "2024-10-03T04:07:00.562Z" + "id": "https://visnalize.com/blog/win7-simu-custom-cursors.html", + "url": "https://visnalize.com/blog/win7-simu-custom-cursors.html", + "title": "Implementing custom cursors in Win7 Simu", + "summary": "Deep dive into how custom cursors are implemented in Win7 Simu.", + "image": "https://visnalize.com/assets/covers/win7-simu-custom-cursors.jpg", + "date_modified": "2024-10-03T04:07:31.603Z" }, { "id": "https://visnalize.com/blog/win7-simu-mobile-devices.html", @@ -122,7 +122,7 @@ "title": "Win7 Simu versus mobile devices", "summary": "How to install Win7 Simu on mobile devices without downloading from any App Stores.", "image": "https://images.unsplash.com/photo-1616353071855-2c045c4458ae?auto=format&fit=crop&w=740&q=80", - "date_modified": "2024-10-03T04:07:00.562Z" + "date_modified": "2024-10-03T04:07:31.603Z" }, { "id": "https://visnalize.com/blog/win7-simu-windows-media-center.html", @@ -130,7 +130,15 @@ "title": "Implementing Windows Media Center in Win7 Simu", "summary": "Sharing on how Windows Media Center was implemented in Win7 Simu.", "image": "https://visnalize.com/assets/covers/win7-simu-windows-media-center.jpg", - "date_modified": "2024-10-03T04:07:00.562Z" + "date_modified": "2024-10-03T04:07:31.603Z" + }, + { + "id": "https://visnalize.com/blog/win7-simu-file-explorer.html", + "url": "https://visnalize.com/blog/win7-simu-file-explorer.html", + "title": "Implementing File Explorer in Win7 Simu", + "summary": "Some key points to share about how Win7 Simu's File Explorer is implemented.", + "image": "https://images.unsplash.com/photo-1544396821-4dd40b938ad3?auto=format&fit=crop&w=740&q=80", + "date_modified": "2024-10-03T04:07:31.603Z" }, { "id": "https://visnalize.com/blog/win7-simu-year-in-review-2022.html", @@ -138,7 +146,7 @@ "title": "Win7 Simu year in review - 2022", "summary": "Look back at some amazing numbers for Win7 Simu in 2022.", "image": "https://images.unsplash.com/photo-1651377731759-fe736975a6e9?auto=format&fit=crop&w=740&q=80", - "date_modified": "2024-10-03T04:07:00.562Z" + "date_modified": "2024-10-03T04:07:31.603Z" }, { "id": "https://visnalize.com/blog/win7-ui-introduction.html", @@ -146,7 +154,7 @@ "title": "Introducing Win7 UI", "summary": "The open-source UI library that powers Win7 Simu behind the scenes.", "image": "https://visnalize.com/assets/covers/win7-ui-hero.jpg", - "date_modified": "2024-10-03T04:07:00.562Z" + "date_modified": "2024-10-03T04:07:31.603Z" }, { "id": "https://visnalize.com/blog/windows-resources.html", @@ -154,7 +162,7 @@ "title": "How to get Windows resources", "summary": "Ways that you can retrieve Windows resources such as wallpapers, icons, audio files etc.", "image": "https://images.unsplash.com/photo-1624571409108-e9a41746af53?auto=format&fit=crop&w=740&q=80", - "date_modified": "2024-10-03T04:07:00.562Z" + "date_modified": "2024-10-03T04:07:31.603Z" } ] } \ No newline at end of file diff --git a/index.html b/index.html index db3b6a63..65f1348d 100644 --- a/index.html +++ b/index.html @@ -36,8 +36,8 @@ - - + +
    - + diff --git a/rss.xml b/rss.xml index 40840a06..e1c2acde 100644 --- a/rss.xml +++ b/rss.xml @@ -4,24 +4,15 @@ Visnalize https://visnalize.com - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT http://blogs.law.harvard.edu/tech/rss https://github.com/webmasterish/vuepress-plugin-feed - - <![CDATA[About the ads and how I implement them]]> - https://visnalize.com/blog/about-the-ads.html - https://visnalize.com/blog/about-the-ads.html - Thu, 03 Oct 2024 04:07:00 GMT - - - - <![CDATA[How I built visnalize.com]]> https://visnalize.com/blog/building-visnalize-com.html https://visnalize.com/blog/building-visnalize-com.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT @@ -30,16 +21,25 @@ <![CDATA[Why I choose to conceal my online identity]]> https://visnalize.com/blog/concealing-online-identity.html https://visnalize.com/blog/concealing-online-identity.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT + + <![CDATA[About the ads and how I implement them]]> + https://visnalize.com/blog/about-the-ads.html + https://visnalize.com/blog/about-the-ads.html + Thu, 03 Oct 2024 04:07:31 GMT + + + + <![CDATA[How I built Win7 Simu]]> https://visnalize.com/blog/building-win7-simu.html https://visnalize.com/blog/building-win7-simu.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT @@ -48,52 +48,52 @@ <![CDATA[Turning my CodePen into an actual app]]> https://visnalize.com/blog/from-codepen-to-app.html https://visnalize.com/blog/from-codepen-to-app.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT - - <![CDATA[Turning my side project into a side hustle]]> - https://visnalize.com/blog/from-side-project-to-side-hustle.html - https://visnalize.com/blog/from-side-project-to-side-hustle.html - Thu, 03 Oct 2024 04:07:00 GMT - - - - <![CDATA[How to add more games to Game Stick Lite 4K]]> https://visnalize.com/blog/game-stick-lite-4k-adding-games.html https://visnalize.com/blog/game-stick-lite-4k-adding-games.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT - <![CDATA[How to get iframes to load any websites]]> - https://visnalize.com/blog/load-any-websites-in-iframes.html - https://visnalize.com/blog/load-any-websites-in-iframes.html - Thu, 03 Oct 2024 04:07:00 GMT - - + <![CDATA[Turning my side project into a side hustle]]> + https://visnalize.com/blog/from-side-project-to-side-hustle.html + https://visnalize.com/blog/from-side-project-to-side-hustle.html + Thu, 03 Oct 2024 04:07:31 GMT + + <![CDATA[📝 Blog]]> https://visnalize.com/blog/ https://visnalize.com/blog/ - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT + + <![CDATA[How to get iframes to load any websites]]> + https://visnalize.com/blog/load-any-websites-in-iframes.html + https://visnalize.com/blog/load-any-websites-in-iframes.html + Thu, 03 Oct 2024 04:07:31 GMT + + + + <![CDATA[Simulators and Emulators: What's the difference?]]> https://visnalize.com/blog/simulator-vs-emulator.html https://visnalize.com/blog/simulator-vs-emulator.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT @@ -102,7 +102,7 @@ <![CDATA[Visnalize year in review - 2023]]> https://visnalize.com/blog/visnalize-year-in-review-2023.html https://visnalize.com/blog/visnalize-year-in-review-2023.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT @@ -111,7 +111,7 @@ <![CDATA[Why you should have a side hustle]]> https://visnalize.com/blog/why-side-hustle.html https://visnalize.com/blog/why-side-hustle.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT @@ -120,25 +120,25 @@ <![CDATA[Windows 7 icon Viewer/Downloader]]> https://visnalize.com/blog/win7-icons-viewer-downloader.html https://visnalize.com/blog/win7-icons-viewer-downloader.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT - <![CDATA[Implementing File Explorer in Win7 Simu]]> - https://visnalize.com/blog/win7-simu-file-explorer.html - https://visnalize.com/blog/win7-simu-file-explorer.html - Thu, 03 Oct 2024 04:07:00 GMT - - + <![CDATA[Implementing custom cursors in Win7 Simu]]> + https://visnalize.com/blog/win7-simu-custom-cursors.html + https://visnalize.com/blog/win7-simu-custom-cursors.html + Thu, 03 Oct 2024 04:07:31 GMT + + <![CDATA[Win7 Simu versus mobile devices]]> https://visnalize.com/blog/win7-simu-mobile-devices.html https://visnalize.com/blog/win7-simu-mobile-devices.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT @@ -147,16 +147,25 @@ <![CDATA[Implementing Windows Media Center in Win7 Simu]]> https://visnalize.com/blog/win7-simu-windows-media-center.html https://visnalize.com/blog/win7-simu-windows-media-center.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT + + <![CDATA[Implementing File Explorer in Win7 Simu]]> + https://visnalize.com/blog/win7-simu-file-explorer.html + https://visnalize.com/blog/win7-simu-file-explorer.html + Thu, 03 Oct 2024 04:07:31 GMT + + + + <![CDATA[Win7 Simu year in review - 2022]]> https://visnalize.com/blog/win7-simu-year-in-review-2022.html https://visnalize.com/blog/win7-simu-year-in-review-2022.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT @@ -165,7 +174,7 @@ <![CDATA[Introducing Win7 UI]]> https://visnalize.com/blog/win7-ui-introduction.html https://visnalize.com/blog/win7-ui-introduction.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT @@ -174,7 +183,7 @@ <![CDATA[How to get Windows resources]]> https://visnalize.com/blog/windows-resources.html https://visnalize.com/blog/windows-resources.html - Thu, 03 Oct 2024 04:07:00 GMT + Thu, 03 Oct 2024 04:07:31 GMT diff --git a/sitemap.xml b/sitemap.xml index 2c55548a..38796bbd 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visnalize.com/blog/about-the-ads.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/about.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/building-visnalize-com.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/concealing-online-identity.html2024-08-24T11:23:04.000Zdailyhttps://visnalize.com/blog/building-win7-simu.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/from-codepen-to-app.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/from-side-project-to-side-hustle.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/game-stick-lite-4k-adding-games.html2024-03-10T08:28:45.000Zdailyhttps://visnalize.com/blog/load-any-websites-in-iframes.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/blog/simulator-vs-emulator.html2024-02-21T11:02:25.000Zdailyhttps://visnalize.com/blog/visnalize-year-in-review-2023.html2024-09-05T16:51:57.000Zdailyhttps://visnalize.com/blog/why-side-hustle.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/win7-icons-viewer-downloader.html2023-06-26T12:53:04.000Zdailyhttps://visnalize.com/blog/win7-simu-file-explorer.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/win7-simu-mobile-devices.html2023-06-26T12:53:04.000Zdailyhttps://visnalize.com/blog/win7-simu-windows-media-center.html2024-04-15T12:21:04.000Zdailyhttps://visnalize.com/blog/win7-simu-year-in-review-2022.html2023-06-26T12:53:04.000Zdailyhttps://visnalize.com/blog/win7-ui-introduction.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/windows-resources.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/brick1100/about.html2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/brick1100/builders.html2024-09-08T16:39:40.000Zdailyhttps://visnalize.com/brick1100/changelog.html2024-09-25T01:00:10.000Zdailyhttps://visnalize.com/brick1100/deep-links.html2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/brick1100/games.html2024-09-05T16:51:57.000Zdailyhttps://visnalize.com/brick1100/privacy.html2024-06-01T06:49:33.000Zdailyhttps://visnalize.com/contact.html2023-11-02T17:52:36.000Zdailyhttps://visnalize.com/brick1100/2023-11-02T17:52:36.000Zdailyhttps://visnalize.com/win7simu/about.html2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/win7simu/changelog.html2024-09-15T00:18:47.000Zdailyhttps://visnalize.com/win7simu/faq.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/win7simu/2023-11-02T17:52:36.000Zdailyhttps://visnalize.com/win7simu/privacy.html2024-06-01T06:49:33.000Zdailyhttps://visnalize.com/win7simu/simulated/bios.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/calculator.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/chrome.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/cmd.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/fileexplorer.html2024-09-01T03:54:23.000Zdailyhttps://visnalize.com/win7simu/simulated/cpanel.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/gadgets.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/ie.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/2024-08-30T10:09:03.000Zdailyhttps://visnalize.com/win7simu/simulated/magnifier.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/2024-09-03T09:12:11.000Zdailyhttps://visnalize.com/win7simu/simulated/media-player.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/minesweeper.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/notepad.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/paint.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/personalize.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/purbleplace.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/programs.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/recorder.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/snipping.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/solitaire.html2024-09-01T03:54:23.000Zdailyhttps://visnalize.com/win7simu/simulated/sticky.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/taskmgr.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/wmc.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/themestudio/changelog.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/win7simu/simulated/wordpad.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/themestudio/in-depth-guide.html2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/win7simu/themestudio/quick-guide.html2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/win7simu/themestudio/2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/tag/dailyhttps://visnalize.com/blog/tag/tips/dailyhttps://visnalize.com/blog/tag/sharing/dailyhttps://visnalize.com/blog/tag/technical/dailyhttps://visnalize.com/blog/tag/random/dailyhttps://visnalize.com/blog/tag/win7-simu/dailyhttps://visnalize.com/blog/tag/brick-1100/dailyhttps://visnalize.com/blog/tag/review/dailyhttps://visnalize.com/blog/tag/tools/daily \ No newline at end of file +https://visnalize.com/blog/building-visnalize-com.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/about.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/concealing-online-identity.html2024-08-24T11:23:04.000Zdailyhttps://visnalize.com/blog/about-the-ads.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/building-win7-simu.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/from-codepen-to-app.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/game-stick-lite-4k-adding-games.html2024-03-10T08:28:45.000Zdailyhttps://visnalize.com/blog/from-side-project-to-side-hustle.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/blog/load-any-websites-in-iframes.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/simulator-vs-emulator.html2024-02-21T11:02:25.000Zdailyhttps://visnalize.com/blog/visnalize-year-in-review-2023.html2024-09-05T16:51:57.000Zdailyhttps://visnalize.com/blog/why-side-hustle.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/win7-icons-viewer-downloader.html2023-06-26T12:53:04.000Zdailyhttps://visnalize.com/blog/win7-simu-custom-cursors.html2024-10-03T04:06:22.000Zdailyhttps://visnalize.com/blog/win7-simu-mobile-devices.html2023-06-26T12:53:04.000Zdailyhttps://visnalize.com/blog/win7-simu-windows-media-center.html2024-10-03T04:06:22.000Zdailyhttps://visnalize.com/blog/win7-simu-file-explorer.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/win7-simu-year-in-review-2022.html2023-06-26T12:53:04.000Zdailyhttps://visnalize.com/blog/win7-ui-introduction.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/windows-resources.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/brick1100/about.html2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/brick1100/builders.html2024-09-08T16:39:40.000Zdailyhttps://visnalize.com/brick1100/changelog.html2024-09-25T01:00:10.000Zdailyhttps://visnalize.com/brick1100/deep-links.html2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/brick1100/games.html2024-09-05T16:51:57.000Zdailyhttps://visnalize.com/brick1100/2023-11-02T17:52:36.000Zdailyhttps://visnalize.com/brick1100/privacy.html2024-06-01T06:49:33.000Zdailyhttps://visnalize.com/contact.html2023-11-02T17:52:36.000Zdailyhttps://visnalize.com/win7simu/about.html2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/win7simu/changelog.html2024-09-15T00:18:47.000Zdailyhttps://visnalize.com/2024-09-03T09:12:11.000Zdailyhttps://visnalize.com/win7simu/faq.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/win7simu/2023-11-02T17:52:36.000Zdailyhttps://visnalize.com/win7simu/privacy.html2024-06-01T06:49:33.000Zdailyhttps://visnalize.com/win7simu/simulated/calculator.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/bios.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/chrome.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/cpanel.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/cmd.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/fileexplorer.html2024-09-01T03:54:23.000Zdailyhttps://visnalize.com/win7simu/simulated/gadgets.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/magnifier.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/ie.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/2024-08-30T10:09:03.000Zdailyhttps://visnalize.com/win7simu/simulated/notepad.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/media-player.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/minesweeper.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/paint.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/personalize.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/programs.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/purbleplace.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/recorder.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/solitaire.html2024-09-01T03:54:23.000Zdailyhttps://visnalize.com/win7simu/simulated/snipping.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/sticky.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/taskmgr.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/simulated/wmc.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/themestudio/changelog.html2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/win7simu/themestudio/in-depth-guide.html2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/win7simu/simulated/wordpad.html2024-08-31T13:10:28.000Zdailyhttps://visnalize.com/win7simu/themestudio/quick-guide.html2024-09-08T08:36:48.000Zdailyhttps://visnalize.com/win7simu/themestudio/2024-09-03T08:15:04.000Zdailyhttps://visnalize.com/blog/tag/dailyhttps://visnalize.com/blog/tag/technical/dailyhttps://visnalize.com/blog/tag/sharing/dailyhttps://visnalize.com/blog/tag/random/dailyhttps://visnalize.com/blog/tag/tips/dailyhttps://visnalize.com/blog/tag/win7-simu/dailyhttps://visnalize.com/blog/tag/brick-1100/dailyhttps://visnalize.com/blog/tag/review/dailyhttps://visnalize.com/blog/tag/tools/dailyhttps://visnalize.com/blog/tag/guest-post/dailyhttps://visnalize.com/blog/tag/win7-simu/page/2/daily \ No newline at end of file diff --git a/win7simu/about.html b/win7simu/about.html index 366a108f..01462479 100644 --- a/win7simu/about.html +++ b/win7simu/about.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/win7simu/changelog.html b/win7simu/changelog.html index 00299326..63d74e47 100644 --- a/win7simu/changelog.html +++ b/win7simu/changelog.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/building-visnalize-com.html b/blog/building-visnalize-com.html index 49de7a29..524a0191 100644 --- a/blog/building-visnalize-com.html +++ b/blog/building-visnalize-com.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/building-win7-simu.html b/blog/building-win7-simu.html index 43960d19..316d9f7a 100644 --- a/blog/building-win7-simu.html +++ b/blog/building-win7-simu.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/concealing-online-identity.html b/blog/concealing-online-identity.html index 7d4a37a0..f895e20a 100644 --- a/blog/concealing-online-identity.html +++ b/blog/concealing-online-identity.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/from-codepen-to-app.html b/blog/from-codepen-to-app.html index fdf3a821..e3964628 100644 --- a/blog/from-codepen-to-app.html +++ b/blog/from-codepen-to-app.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/from-side-project-to-side-hustle.html b/blog/from-side-project-to-side-hustle.html index 5749d5fc..8f9fdb4f 100644 --- a/blog/from-side-project-to-side-hustle.html +++ b/blog/from-side-project-to-side-hustle.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/game-stick-lite-4k-adding-games.html b/blog/game-stick-lite-4k-adding-games.html index a20c9d30..71b3246f 100644 --- a/blog/game-stick-lite-4k-adding-games.html +++ b/blog/game-stick-lite-4k-adding-games.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/index.html b/blog/index.html index 301fd788..112ed564 100644 --- a/blog/index.html +++ b/blog/index.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/load-any-websites-in-iframes.html b/blog/load-any-websites-in-iframes.html index 24c00344..32771006 100644 --- a/blog/load-any-websites-in-iframes.html +++ b/blog/load-any-websites-in-iframes.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/simulator-vs-emulator.html b/blog/simulator-vs-emulator.html index f0965501..7300560d 100644 --- a/blog/simulator-vs-emulator.html +++ b/blog/simulator-vs-emulator.html @@ -37,8 +37,8 @@ - - + +
    - + diff --git a/blog/tag/brick-1100/index.html b/blog/tag/brick-1100/index.html index ffaf02b7..75a80bef 100644 --- a/blog/tag/brick-1100/index.html +++ b/blog/tag/brick-1100/index.html @@ -33,8 +33,8 @@ - - + +
    Copyright © 2021 - present. All Rights Reserved
    + diff --git a/blog/tag/guest-post/index.html b/blog/tag/guest-post/index.html new file mode 100644 index 00000000..9e6ea809 --- /dev/null +++ b/blog/tag/guest-post/index.html @@ -0,0 +1,151 @@ + + + + + + guest-post Tag | Visnalize + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blog/tag/index.html b/blog/tag/index.html index e9d70a61..26100799 100644 --- a/blog/tag/index.html +++ b/blog/tag/index.html @@ -33,8 +33,8 @@ - - + +
    Copyright © 2021 - present. All Rights Reserved
    + diff --git a/blog/tag/random/index.html b/blog/tag/random/index.html index 0cdcd72b..d27e4195 100644 --- a/blog/tag/random/index.html +++ b/blog/tag/random/index.html @@ -33,8 +33,8 @@ - - + +
    Copyright © 2021 - present. All Rights Reserved
    + diff --git a/blog/tag/review/index.html b/blog/tag/review/index.html index a2ee01cd..bd5f583f 100644 --- a/blog/tag/review/index.html +++ b/blog/tag/review/index.html @@ -33,8 +33,8 @@ - - + +