Archives | Utilitaires

Une police de caractères pour les codeurs

6 septembre 2010

0 Commentaire

Une police de caractères pour les codeurs

Mark Simonson, designer graphique, a créé une typo appelée Anonymous Pro, destinée à être utilisée par les codeurs. Son avantage en plus d’être gratuite? Réduire le risque de confusion entre les caractères qui se ressemblent (o,O,0,1,i,l). 9a va en sauver plus d’un !

Lire la suite...

IObit Toolbox : outils de diagnostic et réparation sur votre clé USB

3 août 2010

1 Commentaire

IObit Toolbox : outils de diagnostic et réparation sur votre clé USB

En suivant le site MajorGeeks (qui est une excellente source de logiciels en tous genre) je suis tombé sur cette très bonne suite d’outils de diagnostics et de réparation (pour Windows) qu’est IObit toolbox. Cette suite, en Beta 2.0, vous propose gratuitement plus de 20 outils pour entretenir ou réparer votre PC, en version portable.

Lire la suite...

Du choix judicieux de vos mots de passe

28 juillet 2010

3 Commentaires

Du choix judicieux de vos mots de passe

Les ressources foisonnent sur le web lorsqu’il s’agit d’expliquer comment choisir son mot de passe. Globalement, on vous préconise l’utilisation de caractères spéciaux mais au final, il n’est pas toujours facile de vous souvenir de mots de passe trop compliqués. La question est donc : quelles sont les méthodes qui s’offrent à vous afin de [...]

Lire la suite...

Woopra : web-analytics en temps réel. Big brother is watching you.

30 juin 2010

5 Commentaires

Woopra : web-analytics en temps réel. Big brother is watching you.

Cela fait maintenant 22 jours que je teste les services du web-analytics Woopra. Cet outil permet de restituer les stats de votre site, ou blog, en temps réel, et de littéralement tracker traquer vos visiteurs.

Lire la suite...

Destroy Twitter 2.0 : un client Twitter léger et fonctionnel

23 juin 2010

1 Commentaire

Destroy Twitter 2.0 : un client Twitter léger et fonctionnel

Qu’on soit bien d’accord que quand je dis « Destroy Twitter » je ne parle pas d’anéantir le géant des réseaux sociaux, mais plutôt d’un client Twitter que j’ai découvert par hasard. La toute dernière version de ce bel outil vient de sortir, et promet de faire de l’ombre aux autres clients plus connus. [attention à l'heure [...]

Lire la suite...

TweetMyPC : commandez votre PC à distance, via Twitter

27 mai 2010

3 Commentaires

TweetMyPC : commandez votre PC à distance, via Twitter

Alors ça c’est dingue. Et risqué. Mais ça vaut le coup que j’en parle, parceque l’idée me plaît. TweetMyPC est un petit programme qui vous permet de piloter votre PC à distance, en twittant des commandes, « tout simplement ». Ce logiciel est une excellente façon d’envoyer des requêtes simples à un ordinateur distant, via un autre [...]

Lire la suite...

Comment sauvegarder et jouer à vos jeux Wii à partir d’un disque externe

7 mai 2010

4 Commentaires

Comment sauvegarder et jouer à vos jeux Wii à partir d’un disque externe

Cet article est la traduction (et compression) de l’article paru sur lifehacker appelé How to Back Up and Play Your Wii Games from an External Hard Drive : Connecter un disque dur externe à votre Wii pour sauvegarder et jouer à vos jeux est un moyen simple de garder vos originaux en sécurité et de [...]

Lire la suite...

Granola : économisez du CPU et devenez écolo

29 avril 2010

1 Commentaire

Granola : économisez du CPU et devenez écolo

Sauver la planète, et économiser de l’argent, ca vous dit ? Granola (pas le gateau, le logiciel ^.^) est un petit utilitaire s’installant dans votre barre de tâches (pour Windows et Linux) et qui réduit la fréquence de votre CPU en fonction de l’utilisation que vous en faites.  Moins d’énergie utilisée, moins d’électicité produite, l’équation [...]

Lire la suite...

Notesync : des notes à la volée synchronisées avec Google Docs

22 avril 2010

1 Commentaire

Notesync : des notes à la volée synchronisées avec Google Docs

Profitez-en, NoteSync est gratuit pour l’instant (en béta publique, 5$ normalement). Cet utilitaire vous permet de prendre des notes à la volée, pour les synchroniser de façon transparente avec Google Docs. Vous avez juste besoin d’un login Google et c’est parti.

Lire la suite...
Blog WebMastered by All in One Webmaster.
PHVsPjxsaT48c3Ryb25nPndvb3RoZW1lc19zZXR0aW5nczwvc3Ryb25nPiAtIGE6MDp7fTwvbGk+PGxpPjxzdHJvbmc+d29vX2Fib3V0PC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWJvdXRfYmlvPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWJvdXRfZ3JhdmF0YXI8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hYm91dF9yZWFkbW9yZTwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2Fkc19pbm5lcl9jb250ZW50PC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Fkc19yb3RhdGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYWRfMTI1X2Fkc2Vuc2VfYTwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzEyNV9hZHNlbnNlX2I8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hZF8xMjVfYWRzZW5zZV9jPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWRfMTI1X2Fkc2Vuc2VfZDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzEyNV9pbWFnZV9hPC9zdHJvbmc+IC0gaHR0cDovL3dvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTEuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfMTI1X2ltYWdlX2I8L3N0cm9uZz4gLSBodHRwOi8vd29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF8xMjVfaW1hZ2VfYzwvc3Ryb25nPiAtIGh0dHA6Ly93b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS0zLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzEyNV9pbWFnZV9kPC9zdHJvbmc+IC0gaHR0cDovL3dvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTQuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfMTI1X3VybF9hPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfMTI1X3VybF9iPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfMTI1X3VybF9jPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfMTI1X3VybF9kPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfMzAwX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj48IS0tDQpnb29nbGVfYWRfY2xpZW50ID0gXCJwdWItNTYyMjg2OTAyMDMwOTQwM1wiOw0KLyogMzAweDI1MCwgZGF0ZSBkZSBjcsOpYXRpb24gMjMvMDcvMTAgKi8NCmdvb2dsZV9hZF9zbG90ID0gXCI2NzIxMTA3ODM5XCI7DQpnb29nbGVfYWRfd2lkdGggPSAzMDA7DQpnb29nbGVfYWRfaGVpZ2h0ID0gMjUwOw0KLy8tLT4NCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCINCnNyYz1cImh0dHA6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvc2hvd19hZHMuanNcIj4NCjwvc2NyaXB0PjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkXzMwMF9pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cuZ2Vla3BhdXZyZS5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF8zMDBfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5nZWVrcGF1dnJlLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2Jsb2NrX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hZF9ibG9ja19pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTMwMHgyNTAtMS5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9ibG9ja191cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF9jb250ZW50X2Fkc2Vuc2U8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hZF9jb250ZW50X2Rpc2FibGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2NvbnRlbnRfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy00Njh4NjAtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9jb250ZW50X3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2hlYWRlcl9hZHNlbnNlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWRfaGVhZGVyX2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtNDY4eDYwLTIuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaGVhZGVyX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTEuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS0zLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTQuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfNTwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV82PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS00LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8xPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzI8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF80PC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzU8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfNjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gNC1pY2VibHVlLmNzczwvbGk+PGxpPjxzdHJvbmc+d29vX2FyY2hpdmVfY29udGVudDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYXNpZGVzX2NhdGVnb3J5PC9zdHJvbmc+IC0gUmllbiDDoCB2b2lyPC9saT48bGk+PHN0cm9uZz53b29fYXV0aG9yPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19hdXRvX2ltZzwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19ibG9nX3N1Ym5hdmlnYXRpb248L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2JyZWFkY3J1bWJzPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jYXRfbWVudTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19jb250ZW50PC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbnRlbnRfYXJjaGl2ZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9hcmNoaXZlczwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9mZWF0PC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2NvbnRlbnRfaG9tZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Nzczwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9mYXZpY29uPC9zdHJvbmc+IC0gaHR0cDovL3d3dy5nZWVrcGF1dnJlLmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzQtQmxvZy0zMi5wbmc8L2xpPjxsaT48c3Ryb25nPndvb19kZWxpY2lvdXM8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19kaWdnPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZXhjbHVkZV9wYWdlc19mb290ZXI8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19leGNsdWRlX3BhZ2VzX21haW48L3N0cm9uZz4gLSAxLDIzMDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZhY2Vib29rPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfbGF5b3V0PC9zdHJvbmc+IC0gbGFyZ2Vfbm9fYWQucGhwPC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfcG9zdHM8L3N0cm9uZz4gLSAxPC9saT48bGk+PHN0cm9uZz53b29fZmVhdF9hbHRfaGVpZ2h0PC9zdHJvbmc+IC0gODU8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0X2FsdF93aWR0aDwvc3Ryb25nPiAtIDEzMDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlYXRfaW1hZ2VfaGVpZ2h0PC9zdHJvbmc+IC0gMTk1PC9saT48bGk+PHN0cm9uZz53b29fZmVhdF9pbWFnZV93aWR0aDwvc3Ryb25nPiAtIDU0MDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfaWQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX3VybDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZsaWNrcjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZyYW1ld29ya190ZW1wbGF0ZTwvc3Ryb25nPiAtIGE6MTM6e2k6MDthOjI6e3M6NDoibmFtZSI7czoxNzoiRnJhbWV3b3JrIE9wdGlvbnMiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToxO2E6NTp7czo0OiJuYW1lIjtzOjM0OiJEaXNhYmxlIG9wdGlvbnMgcGFuZWwgb3VwdXQgb3B0aW9uIjtzOjQ6ImRlc2MiO3M6MTIxOiJEaXNhYmxlIHRoZSBhYmlsaXR5IHRvIHNob3cgeW91ciBXb28gT3B0aW9ucy4gWW91IGNhbiB2aWV3IHRoZSB0aGVtZXMgb3B0aW9uIGJ5IFVSTCBlLmcuIGh0dHA6Ly95b3Vyc2l0ZS5jb20vP29wdGlvbnM9d29vIjtzOjI6ImlkIjtzOjI2OiJmcmFtZXdvcmtfd29vX3Nob3dfb3B0aW9ucyI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO31pOjI7YTo1OntzOjQ6Im5hbWUiO3M6MjE6IlRoZW1lIFZlcnNpb24gQ2hlY2tlciI7czo0OiJkZXNjIjtzOjEwMToiVGhpcyB3aWxsIGVuYWJsZSBub3RpY2VzIG9uIHlvdXIgdGhlbWUgb3B0aW9ucyBwYWdlIHRoYXQgdGhlcmUgaXMgYW4gdXBkYXRlIGF2YWlsYWJsZSBmb3IgeW91ciB0aGVtZS4iO3M6MjoiaWQiO3M6MzU6ImZyYW1ld29ya193b29fdGhlbWVfdmVyc2lvbl9jaGVja2VyIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7fWk6MzthOjU6e3M6NDoibmFtZSI7czoyMjoiRGlzYWJsZSBCdXkgVGhlbWVzIFRhYiI7czo0OiJkZXNjIjtzOjExMDoiVGhpcyBkaXNhYmxlcyB0aGUgJ0J1eSBUaGVtZXMnIHRhYi4gVGhpcyBwYWdlIGxpc3RzIHRoZSBsYXRlc3QgYXZhaWxhYmUgdGhlbWVzIGZyb20gdGhlIFdvb1RoZW1lcy5jb20gd2Vic2l0ZS4iO3M6MjoiaWQiO3M6MjQ6ImZyYW1ld29ya193b29fYnV5X3RoZW1lcyI7czozOiJzdGQiO3M6MDoiIjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO31pOjQ7YTo1OntzOjQ6Im5hbWUiO3M6NTI6IkZyYW1ld29yayBDb3JlIFVwZGF0ZSAoT25seSBmb3IgZnJhbWV3b3JrIFYuMi43LjAgKykiO3M6NDoiZGVzYyI7czoxNDA6IjxzdHJvbmc+QkVUQTo8L3N0cm9uZz4gVGhpcyBvcHRpb24gd2lsbCBhY3RpdmUgdGhlIFdvb0ZyYW1ld29yayBDb3JlIFVwZGF0ZS4gSW50ZW5kZWQgb25seSBmb3IgYmV0YSB0ZXN0ZXJzIGFuZCBhZHZhbmNlZCB1c2VycyBhdCB0aGlzIHRpbWUuIjtzOjI6ImlkIjtzOjMwOiJmcmFtZXdvcmtfd29vX2ZyYW1ld29ya191cGRhdGUiO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjg6ImNoZWNrYm94Ijt9aTo1O2E6Njp7czo0OiJuYW1lIjtzOjEzOiJTdXBlciBVc2VyIElEIjtzOjQ6ImRlc2MiO3M6MTgxOiJBZGQgdGhlIFVzZXIgSUQgdG8gdGhpcyBmaWVsZCB0byBoaWRlIHRoZSBGcmFtZXdvcmsgU2V0dGluZ3MgcGFuZWwgZnJvbSBvdGhlciB1c2Vycy4gQ2FuIGJlIHJlc2V0IGZyb20gdGhlIDxjb2RlPndwLWFkbWluL29wdGlvbnMucGhwPC9jb2RlPiB1bmRlciA8ZW0+ZnJhbWV3b3JrX3dvb19zdXBlcl91c2VyPC9lbT4uIjtzOjI6ImlkIjtzOjI0OiJmcmFtZXdvcmtfd29vX3N1cGVyX3VzZXIiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJjbGFzcyI7czo0OiJtaW5pIjtzOjQ6InR5cGUiO3M6NDoidGV4dCI7fWk6NjthOjI6e3M6NDoibmFtZSI7czo4OiJCcmFuZGluZyI7czo0OiJ0eXBlIjtzOjc6ImhlYWRpbmciO31pOjc7YTo1OntzOjQ6Im5hbWUiO3M6MjA6Ik9wdGlvbnMgcGFuZWwgaGVhZGVyIjtzOjQ6ImRlc2MiO3M6NTA6IkNoYW5nZSB0aGUgaGVhZGVyIGltYWdlIGZvciB0aGUgV29vVGhlbWVzIEJhY2tlbmQuIjtzOjI6ImlkIjtzOjM0OiJmcmFtZXdvcmtfd29vX2JhY2tlbmRfaGVhZGVyX2ltYWdlIjtzOjM6InN0ZCI7czowOiIiO3M6NDoidHlwZSI7czo2OiJ1cGxvYWQiO31pOjg7YTo1OntzOjQ6Im5hbWUiO3M6MTg6Ik9wdGlvbnMgcGFuZWwgaWNvbiI7czo0OiJkZXNjIjtzOjU2OiJDaGFuZ2UgdGhlIGljb24gaW1hZ2UgZm9yIHRoZSBXb3JkcHJlc3MgYmFja2VuZCBzaWRlYmFyLiI7czoyOiJpZCI7czoyNjoiZnJhbWV3b3JrX3dvb19iYWNrZW5kX2ljb24iO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjY6InVwbG9hZCI7fWk6OTthOjI6e3M6NDoibmFtZSI7czoxNDoiSW1wb3J0IE9wdGlvbnMiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToxMDthOjU6e3M6NDoibmFtZSI7czo0NjoiSW1wb3J0IG9wdGlvbnMgZnJvbSBhbm90aGVyIFdvb1RoZW1lcyBpbnN0YW5jZSI7czo0OiJkZXNjIjtzOjE3MDoiWW91IGNhbiB0cmFuc2ZlciBvcHRpb25zIGZyb20gYW5vdGhlciBXb29UaGVtZXMgKHNhbWUgdGhlbWUpIHRvIHRoaXMgb25lIGJ5IGNvcHlpbmcgdGhlIGV4cG9ydCBjb2RlIGFuZCBhZGRpbmcgaXQgaGVyZS4gV29ya3MgYmVzdCBpZiBpdCdzIGltcG9ydGVkIGZyb20gaWRlbnRpY2FsIHRoZW1lcy4iO3M6MjoiaWQiO3M6Mjg6ImZyYW1ld29ya193b29faW1wb3J0X29wdGlvbnMiO3M6Mzoic3RkIjtzOjA6IiI7czo0OiJ0eXBlIjtzOjg6InRleHRhcmVhIjt9aToxMTthOjI6e3M6NDoibmFtZSI7czoxNDoiRXhwb3J0IE9wdGlvbnMiO3M6NDoidHlwZSI7czo3OiJoZWFkaW5nIjt9aToxMjthOjU6e3M6NDoibmFtZSI7czo2NjoiVXNlIHRoZSBjb2RlIGJlbG93IHRvIGV4cG9ydCB0aGlzIHRoZW1lcyBzZXR0aW5ncyB0byBhbm90aGVyIHRoZW1lIjtzOjQ6ImRlc2MiO3M6MTcwOiJZb3UgY2FuIHRyYW5zZmVyIG9wdGlvbnMgZnJvbSBhbm90aGVyIFdvb1RoZW1lcyAoc2FtZSB0aGVtZSkgdG8gdGhpcyBvbmUgYnkgY29weWluZyB0aGUgZXhwb3J0IGNvZGUgYW5kIGFkZGluZyBpdCBoZXJlLiBXb3JrcyBiZXN0IGlmIGl0J3MgaW1wb3J0ZWQgZnJvbSBpZGVudGljYWwgdGhlbWVzLiI7czoyOiJpZCI7czoyODoiZnJhbWV3b3JrX3dvb19leHBvcnRfb3B0aW9ucyI7czozOiJzdGQiO3M6MTg3MjoiWVRveU9EcDdjem94TkRvaWQyOXZYMkZrYzE5eWIzUmhkR1VpTzNNNk5Eb2lkSEoxWlNJN2N6b3hPRG9pZDI5dlgyRmtYek13TUY5aFpITmxibk5sSWp0ek9qQTZJaUk3Y3pveE5qb2lkMjl2WDJGa1h6TXdNRjlwYldGblpTSTdjem8xTWpvaWFIUjBjRG92TDNkM2R5NTNiMjkwYUdWdFpYTXVZMjl0TDJGa2N5OTNiMjkwYUdWdFpYTXRNekF3ZURJMU1DMHlMbWRwWmlJN2N6b3hORG9pZDI5dlgyRmtYek13TUY5MWNtd2lPM002TWpRNkltaDBkSEE2THk5M2QzY3VkMjl2ZEdobGJXVnpMbU52YlNJN2N6b3hORG9pZDI5dlgyRmtYMmx0WVdkbFh6RWlPM002TlRJNkltaDBkSEE2THk5M2QzY3VkMjl2ZEdobGJXVnpMbU52YlM5aFpITXZkMjl2ZEdobGJXVnpMVEV5TlhneE1qVXRNUzVuYVdZaU8zTTZNVFE2SW5kdmIxOWhaRjlwYldGblpWOHlJanR6T2pVeU9pSm9kSFJ3T2k4dmQzZDNMbmR2YjNSb1pXMWxjeTVqYjIwdllXUnpMM2R2YjNSb1pXMWxjeTB4TWpWNE1USTFMVEl1WjJsbUlqdHpPakUwT2lKM2IyOWZZV1JmYVcxaFoyVmZNeUk3Y3pvMU1qb2lhSFIwY0RvdkwzZDNkeTUzYjI5MGFHVnRaWE11WTI5dEwyRmtjeTkzYjI5MGFHVnRaWE10TVRJMWVERXlOUzB6TG1kcFppSTdjem94TkRvaWQyOXZYMkZrWDJsdFlXZGxYelFpTzNNNk5USTZJbWgwZEhBNkx5OTNkM2N1ZDI5dmRHaGxiV1Z6TG1OdmJTOWhaSE12ZDI5dmRHaGxiV1Z6TFRFeU5YZ3hNalV0TkM1bmFXWWlPM002TVRRNkluZHZiMTloWkY5cGJXRm5aVjgxSWp0ek9qVXlPaUpvZEhSd09pOHZkM2QzTG5kdmIzUm9aVzFsY3k1amIyMHZZV1J6TDNkdmIzUm9aVzFsY3kweE1qVjRNVEkxTFRRdVoybG1JanR6T2pFME9pSjNiMjlmWVdSZmFXMWhaMlZmTmlJN2N6bzFNam9pYUhSMGNEb3ZMM2QzZHk1M2IyOTBhR1Z0WlhNdVkyOXRMMkZrY3k5M2IyOTBhR1Z0WlhNdE1USTFlREV5TlMwMExtZHBaaUk3Y3pveE1qb2lkMjl2WDJGa1gzVnliRjh4SWp0ek9qSTBPaUpvZEhSd09pOHZkM2QzTG5kdmIzUm9aVzFsY3k1amIyMGlPM002TVRJNkluZHZiMTloWkY5MWNteGZNaUk3Y3pveU5Eb2lhSFIwY0RvdkwzZDNkeTUzYjI5MGFHVnRaWE11WTI5dElqdHpPakV5T2lKM2IyOWZZV1JmZFhKc1h6TWlPM002TWpRNkltaDBkSEE2THk5M2QzY3VkMjl2ZEdobGJXVnpMbU52YlNJN2N6b3hNam9pZDI5dlgyRmtYM1Z5YkY4MElqdHpPakkwT2lKb2RIUndPaTh2ZDNkM0xuZHZiM1JvWlcxbGN5NWpiMjBpTzNNNk1USTZJbmR2YjE5aFpGOTFjbXhmTlNJN2N6b3lORG9pYUhSMGNEb3ZMM2QzZHk1M2IyOTBhR1Z0WlhNdVkyOXRJanR6T2pFeU9pSjNiMjlmWVdSZmRYSnNYellpTzNNNk1qUTZJbWgwZEhBNkx5OTNkM2N1ZDI5dmRHaGxiV1Z6TG1OdmJTSTdjem94T0RvaWQyOXZYMkZzZEY5emRIbHNaWE5vWldWMElqdHpPakV4T2lKa1pXWmhkV3gwTG1OemN5STdjem94TWpvaWQyOXZYMkYxZEc5ZmFXMW5JanR6T2pVNkltWmhiSE5sSWp0ek9qRTFPaUozYjI5ZlluSmxZV1JqY25WdFluTWlPM002TlRvaVptRnNjMlVpTzNNNk1UUTZJbmR2YjE5amRYTjBiMjFmWTNOeklqdHpPakE2SWlJN2N6b3hPRG9pZDI5dlgyTjFjM1J2YlY5bVlYWnBZMjl1SWp0ek9qQTZJaUk3Y3pveE56b2lkMjl2WDJabFpXUmlkWEp1WlhKZmFXUWlPM002TURvaUlqdHpPakU0T2lKM2IyOWZabVZsWkdKMWNtNWxjbDkxY213aU8zTTZNRG9pSWp0ek9qSXdPaUozYjI5ZloyOXZaMnhsWDJGdVlXeDVkR2xqY3lJN2N6b3dPaUlpTzNNNk9Eb2lkMjl2WDJ4dloyOGlPM002TURvaUlqdHpPakUxT2lKM2IyOWZibUYyWDJWNFkyeDFaR1VpTzNNNk1Eb2lJanR6T2pFd09pSjNiMjlmY21WemFYcGxJanR6T2pRNkluUnlkV1VpTzNNNk1UTTZJbmR2YjE5MFpYaDBkR2wwYkdVaU8zTTZORG9pZEhKMVpTSTdmUT09IjtzOjQ6InR5cGUiO3M6ODoidGV4dGFyZWEiO319PC9saT48bGk+PHN0cm9uZz53b29fZnJhbWV3b3JrX3ZlcnNpb248L3N0cm9uZz4gLSAyLjcuMTA8L2xpPjxsaT48c3Ryb25nPndvb19nZXRfaW1hZ2VfaGVpZ2h0PC9zdHJvbmc+IC0gNTAwPC9saT48bGk+PHN0cm9uZz53b29fZ2V0X2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gMjAwPC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPg0KDQogIHZhciBfZ2FxID0gX2dhcSB8fCBbXTsNCiAgX2dhcS5wdXNoKFtcJ19zZXRBY2NvdW50XCcsIFwnVUEtOTA1Mjg0Ni0xXCddKTsNCiAgX2dhcS5wdXNoKFtcJ190cmFja1BhZ2V2aWV3XCddKTsNCg0KICAoZnVuY3Rpb24oKSB7DQogICAgdmFyIGdhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcJ3NjcmlwdFwnKTsgZ2EudHlwZSA9IFwndGV4dC9qYXZhc2NyaXB0XCc7IGdhLmFzeW5jID0gdHJ1ZTsNCiAgICBnYS5zcmMgPSAoXCdodHRwczpcJyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCA/IFwnaHR0cHM6Ly9zc2xcJyA6IFwnaHR0cDovL3d3d1wnKSArIFwnLmdvb2dsZS1hbmFseXRpY3MuY29tL2dhLmpzXCc7DQogICAgdmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcJ3NjcmlwdFwnKVswXTsgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnYSwgcyk7DQogIH0pKCk7DQoNCjwvc2NyaXB0PjwvbGk+PGxpPjxzdHJvbmc+d29vX2dyYXZhdGFyPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29faGVhZGVyX2xheW91dDwvc3Ryb25nPiAtIGFib3V0LnBocDwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfb25lX2NvbDwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29faG9tZV9wb3N0czwvc3Ryb25nPiAtIDEwPC9saT48bGk+PHN0cm9uZz53b29faG9tZV90aXRsZTwvc3Ryb25nPiAtIERlcm5pZXIgQXJ0aWNsZTwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX2hlaWdodDwvc3Ryb25nPiAtIDE3MDwvbGk+PGxpPjxzdHJvbmc+d29vX2ltYWdlX3NpbmdsZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29faW1hZ2Vfd2lkdGg8L3N0cm9uZz4gLSA0MzA8L2xpPjxsaT48c3Ryb25nPndvb19sYXN0Zm08L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19sYXlvdXQ8L3N0cm9uZz4gLSAxY29sLnBocDwvbGk+PGxpPjxzdHJvbmc+d29vX2xpbmtlZGluPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fbG9nbzwvc3Ryb25nPiAtIGh0dHA6Ly93d3cuZ2Vla3BhdXZyZS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy82LWxvZ29MR1AtNTAweDEwMC5wbmc8L2xpPjxsaT48c3Ryb25nPndvb19tYW51YWw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vc3VwcG9ydC90aGVtZS1kb2N1bWVudGF0aW9uL2ZyZXNoLW5ld3MvPC9saT48bGk+PHN0cm9uZz53b29fbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSAxLDQ0PC9saT48bGk+PHN0cm9uZz53b29fbmF2X2Zvb3Rlcjwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19vcHRpb25zPC9zdHJvbmc+IC0gYTozMDp7czoxODoid29vX2FsdF9zdHlsZXNoZWV0IjtzOjg6ImdyZXkuY3NzIjtzOjg6Indvb19sb2dvIjtzOjA6IiI7czoxMzoid29vX3RleHR0aXRsZSI7czo0OiJ0cnVlIjtzOjE4OiJ3b29fY3VzdG9tX2Zhdmljb24iO3M6MDoiIjtzOjIwOiJ3b29fZ29vZ2xlX2FuYWx5dGljcyI7czo0OTM6IjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCiAgdmFyIF9nYXEgPSBfZ2FxIHx8IFtdOwogIF9nYXEucHVzaChbXCdfc2V0QWNjb3VudFwnLCBcJ1VBLTkwNTI4NDYtMVwnXSk7CiAgX2dhcS5wdXNoKFtcJ190cmFja1BhZ2V2aWV3XCddKTsKCiAgKGZ1bmN0aW9uKCkgewogICAgdmFyIGdhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcJ3NjcmlwdFwnKTsgZ2EudHlwZSA9IFwndGV4dC9qYXZhc2NyaXB0XCc7IGdhLmFzeW5jID0gdHJ1ZTsKICAgIGdhLnNyYyA9IChcJ2h0dHBzOlwnID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sID8gXCdodHRwczovL3NzbFwnIDogXCdodHRwOi8vd3d3XCcpICsgXCcuZ29vZ2xlLWFuYWx5dGljcy5jb20vZ2EuanNcJzsKICAgIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCdzY3JpcHRcJylbMF07IHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZ2EsIHMpOwogIH0pKCk7Cgo8L3NjcmlwdD4iO3M6MTg6Indvb19mZWVkYnVybmVyX3VybCI7czowOiIiO3M6MTc6Indvb19mZWVkYnVybmVyX2lkIjtzOjA6IiI7czoxNDoid29vX2N1c3RvbV9jc3MiO3M6MDoiIjtzOjE1OiJ3b29fbmF2X2V4Y2x1ZGUiO3M6NDoiMSw0NCI7czoxNToid29vX2JyZWFkY3J1bWJzIjtzOjU6ImZhbHNlIjtzOjEwOiJ3b29fcmVzaXplIjtzOjQ6InRydWUiO3M6MTI6Indvb19hdXRvX2ltZyI7czo1OiJmYWxzZSI7czoxOToid29vX2dldF9pbWFnZV93aWR0aCI7aToyMDA7czoyMDoid29vX2dldF9pbWFnZV9oZWlnaHQiO2k6NTAwO3M6MTg6Indvb19hZF8zMDBfYWRzZW5zZSI7czowOiIiO3M6MTY6Indvb19hZF8zMDBfaW1hZ2UiO3M6NTI6Imh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTMwMHgyNTAtMi5naWYiO3M6MTQ6Indvb19hZF8zMDBfdXJsIjtzOjI0OiJodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20iO3M6MTQ6Indvb19hZHNfcm90YXRlIjtzOjQ6InRydWUiO3M6MTQ6Indvb19hZF9pbWFnZV8xIjtzOjUyOiJodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTEuZ2lmIjtzOjEyOiJ3b29fYWRfdXJsXzEiO3M6MjQ6Imh0dHA6Ly93d3cud29vdGhlbWVzLmNvbSI7czoxNDoid29vX2FkX2ltYWdlXzIiO3M6NTI6Imh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtMi5naWYiO3M6MTI6Indvb19hZF91cmxfMiI7czoyNDoiaHR0cDovL3d3dy53b290aGVtZXMuY29tIjtzOjE0OiJ3b29fYWRfaW1hZ2VfMyI7czo1MjoiaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS0zLmdpZiI7czoxMjoid29vX2FkX3VybF8zIjtzOjI0OiJodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20iO3M6MTQ6Indvb19hZF9pbWFnZV80IjtzOjUyOiJodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTQuZ2lmIjtzOjEyOiJ3b29fYWRfdXJsXzQiO3M6MjQ6Imh0dHA6Ly93d3cud29vdGhlbWVzLmNvbSI7czoxNDoid29vX2FkX2ltYWdlXzUiO3M6NTI6Imh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtNC5naWYiO3M6MTI6Indvb19hZF91cmxfNSI7czoyNDoiaHR0cDovL3d3dy53b290aGVtZXMuY29tIjtzOjE0OiJ3b29fYWRfaW1hZ2VfNiI7czo1MjoiaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS00LmdpZiI7czoxMjoid29vX2FkX3VybF82IjtzOjI0OiJodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20iO308L2xpPjxsaT48c3Ryb25nPndvb19wb3J0Zm9saW9fY2F0PC9zdHJvbmc+IC0gU2VsZWN0IGEgY2F0ZWdvcnk6PC9saT48bGk+PHN0cm9uZz53b29fcG9ydGZvbGlvX2NhdGVnb3J5PC9zdHJvbmc+IC0gU2VsZWN0IGEgY2F0ZWdvcnk6PC9saT48bGk+PHN0cm9uZz53b29fcG9ydGZvbGlvX3Bvc3RzPC9zdHJvbmc+IC0gU2VsZWN0IGEgbnVtYmVyOjwvbGk+PGxpPjxzdHJvbmc+d29vX3BvcnRmb2xpb19yZXNpemVyPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19wb3J0X2luX25hdjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fcG9ydF9wcmV2X2luczwvc3Ryb25nPiAtIENsaWNrIG9uIGltYWdlcyBiZWxvdyB0byBsb2FkIGEgbGFyZ2VyIHByZXZpZXcuPC9saT48bGk+PHN0cm9uZz53b29fcG9ydF9wcmV2X3RpdGxlPC9zdHJvbmc+IC0gVGh1bWJuYWlsczwvbGk+PGxpPjxzdHJvbmc+d29vX3JlbGF0ZWQ8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3JpZ2h0X3NpZGViYXI8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2VhcmNoX2NvbnRlbnQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3NldHRpbmdzX2N1c3RvbV9uYXZfYWR2YW5jZWRfb3B0aW9uczwvc3Ryb25nPiAtIHllczwvbGk+PGxpPjxzdHJvbmc+d29vX3NldHRpbmdzX2N1c3RvbV9uYXZfdmVyc2lvbjwvc3Ryb25nPiAtIDEuMC4xNDwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV9oZWlnaHQ8L3N0cm9uZz4gLSAxMjA8L2xpPjxsaT48c3Ryb25nPndvb19zaW5nbGVfaW1hZ2VfaGVpZ2h0PC9zdHJvbmc+IC0gNzU8L2xpPjxsaT48c3Ryb25nPndvb19zaW5nbGVfaW1hZ2Vfd2lkdGg8L3N0cm9uZz4gLSA3NTwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV93aWR0aDwvc3Ryb25nPiAtIDE4MDwvbGk+PGxpPjxzdHJvbmc+d29vX3N0dW1ibGU8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb190YWJzPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RleHR0aXRsZTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb190aGVtZW5hbWU8L3N0cm9uZz4gLSBGcmVzaCBOZXdzPC9saT48bGk+PHN0cm9uZz53b29fdGh1bWJfaGVpZ2h0PC9zdHJvbmc+IC0gNjQ8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9pbWFnZV9oZWlnaHQ8L3N0cm9uZz4gLSA3NTwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX2ltYWdlX3dpZHRoPC9zdHJvbmc+IC0gNzU8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl93aWR0aDwvc3Ryb25nPiAtIDY0PC9saT48bGk+PHN0cm9uZz53b29fdHdpdHRlcl91c2VyPC9zdHJvbmc+IC0gbXF1ZW50aW48L2xpPjxsaT48c3Ryb25nPndvb191cGxvYWRzPC9zdHJvbmc+IC0gYTo0OntpOjA7czo3MDoiaHR0cDovL3d3dy5nZWVrcGF1dnJlLmNvbS93cC1jb250ZW50L3dvb191cGxvYWRzLzYtbG9nb0xHUC01MDB4MTAwLnBuZyI7aToxO3M6NzA6Imh0dHA6Ly93d3cuZ2Vla3BhdXZyZS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy81LWxvZ29MR1AtNTAweDEwMC5wbmciO2k6MjtzOjYyOiJodHRwOi8vd3d3LmdlZWtwYXV2cmUuY29tL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvNC1CbG9nLTMyLnBuZyI7aTozO3M6NzA6Imh0dHA6Ly93d3cuZ2Vla3BhdXZyZS5jb20vd3AtY29udGVudC93b29fdXBsb2Fkcy8zLWxvZ29MR1AtNTAweDEwMC5wbmciO308L2xpPjxsaT48c3Ryb25nPndvb192aWRlb19jYXRlZ29yeTwvc3Ryb25nPiAtIFNlbGVjdCBhIGNhdGVnb3J5OjwvbGk+PGxpPjxzdHJvbmc+d29vX3lvdXR1YmU8L3N0cm9uZz4gLSA8L2xpPjwvdWw+