Vasyan

softach_User_Agent_Fixer.user

Sep 11th, 2015
7,039
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name /s/oftach User Agent Fixer
  3. // @version 0.70a12
  4. // @include https://2ch.hk/s/*
  5. // @include http://2ch.hk/s/*
  6. // @exclude https://2ch.hk/s/src/*
  7. // @exclude http://2ch.hk/s/src/*
  8. // @grant       GM_getValue
  9. // @grant       GM_setValue
  10. // ==/UserScript==
  11. "use strict";
  12.  
  13. const suafVersion = '0.70a12';
  14. const suafWebsite = 'http://pastebin.com/NzDkWsY5';
  15.  
  16. const Icons = {
  17.     linux: {width: 25, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEhklEQVRIx62VW2xUVRSGv33OmZnOjWHKTC+YTi+0kDZKIxCUKqKpiQRD9IWKjUR9EHkxaUyMGF6kD0o0+EAEgxrRBB8IBBMh4eI1FFvEIoxAWsOUhCItTIDeZtrpXM7yoTN1ppahUFayH87J2f931vp3/g0zKyuwA7gOCPAP8CEPsGxp4cml67qsXr1alFIJQD0ISNNUiKZpYrFYMs+HHwTkECBWqzUH5HQ6s5+NfALaDCCBpqYmGhoaAKisrOTIkSM0NjZO9ez+y+v1/rl9+3bp7u4WQJLJpNTW1koikcjupDSfhnE3SDKZvN3e3k746hm2vQlXz+2mq6uLY8ePZ382PFtPvt65ebnIGUTOVYt0Isk/vHL52KrsTp6fFWH+XLaapxDpVCKdukiwToZ/MSTxe86Ja5+V8ddHjN5vTzQRviHcuJFiINzFrXCKjlufA9Dc3IzT6VwxW/PPXLoUkk9bN8ihjxbKD3tbZGhoWERENm7cKIAopQTYcr+AVRUVFSIi0tXVLSd/OyWx2Lhkl6Zp2WNz3itgHiD9/f2SrwKBQDbk5r3GzCWfzzcJiUajEo1GRUQkFotJMBiUtrY2OX36tEyJnQ9mavzTSqnqNWvWYLfbAXA4HDgcjonEtNmoqanB5/PR29uLzWajpKQks/e99BTyl8ViueD3+2UmlUgkZM+ePeJ2u8Xtdme6OXo3RqnH45FNmzbJvZTH45HCwkLRdT0DKswHedtisUgkEskRGR0dzQtxOBwCiGEYGcjaO15QVqtVqqqqcgRSqZT09PTkhbjdblFKZR/pw3cy/hXTFEpLc0M1lUrhcrnyzlgpRXl5OaZpZl5VTgupr6Hv6I4E47HBHAERQUTyIEycTieDg4MEAgH8fj/A99N+OnqiICzBZTLcZpfK6sWTozBNU/r6+qYdUyqZEgkulSULJw2XxdVWkWDRzpxOdr9M/dmdBO1zCv0guN1VfPPuX/h8xZOjmDrCyWA79SskzrL24RQAngI4+aWOJMcmr05j+CcVcnm9CxQaqOL0gO2sXD6P2rIwNpuNUChEWVnZtJCenhBLa03eegNeeBbKq8DtrQG0RYmOriLLivGwlkxKROmVoFdkWSRAgO8+hng8TktLyx3d+PviOcbHYV6RzqOP2SgsfgiwADqGo+5asrP0cQ0YgnhaODdxfEUV/PxVNfv3H5gWsG/fPo4f+AylAKMejEdAK8nWMHRLSYfm8qiKCX3t/wEqDp6qC7F31/v/nSPT5ODBgzQ0NLB+/XpW1oHNZk/vzfyoAk0nNhoZHBi4ucKIjYlLyXk0w4ZmFIDmSuebFSSO0iB+vhWlWqftZukCMCWFThzQQY0wcmuAjs7IJ8+9E98GRIw5z7Bsy1rWVcwff6LUP14fKBsqD1Rew+kG04QrPXB7CIAfgQgQTa8CoHxsjCevhOK6r/giyYTQfUFim3fR3HaZCxNUTAXMBeakbzULMHfri7xUv4hGu5VF/ddpf+0LNgAJIJneaAdcQMG6JSxpWkmrw453aISLr+7i9YQwBIxM+M3Yv7OY2g16fltzAAAAAElFTkSuQmCC'},
  18.     debian: {width: 24, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABgAAAAeCAYAAAA2Lt7lAAAACXBIWXMAAAsTAAALEwEAmpwYAAADHUlEQVRIx7XWTaiWRRQH8N/zevO5pVmJaKjYhSKchWS0qEW4qEz7QBmicFEU1KYoIiPKQILCTUKbKII+QAijFk2ZRbZI+sDMFkFBo1BGFBpkaLdMR6++LRrh5fLe917pdjbPM+fM/P8z85zzP09jgOU2thjBw7geP+IdzMLs+r4fR9ENJXXHYzQDwG/AQ1hjsH2FPfgVz4aSTgwkyG08F69iLc7rCY3hhwo0Vk92aU/8NH7CnaGkXX0JchsvxBtYXV2ncAwvhZIe67OZIazHo5jfE7o1lPR+P4LtuKUOT2IDtoeS9k3yrZbgZdxYXSewMpT0adMz6UlsqsPdWB9K+sIULbdxLhJWVNcurGpyGxegg6+xAFtxVyjptLO03MZrsANzquvaDv7AExX8XdwzGXhu4/zcxlnj/aGk3fgQXbyApsltvAT78BcuDiWNDQCO2Igv8TsOYGso6UjPnGX4Bh/jgSGsRIs3JwG/D6twdSjpZI9/YW7j6JlTh5K+zW2EYYwO4d6aMU8NAB/BFaGk2/tcy4E+S/ZjCcY6WFyPfGjAta+rsjDRBobHuUrFnd2pxXSoVudEdj8+GxAfGTeeg+9wuIOZ+K1e00R2EWZMsPsmlLR3nHsYHzTdZrRTNWQ0lHRqAMEhLJsgtii3cXYP4WrMxSdLT7x9eqgWWTNJDW3DzVU15TY29Y6PhpJ+6QGfgS34KJS0PQ/HpoMjuKzPhzqz6Hy8hVW5jctr5nRrah/vmTcTm3E4lLQawvHU7WAvLq/31s9KTYAXsSW3cV0l+T6U9HcFX4OduLJH8P6V69zGR/AcFoaSDg5IxaVVyDZW0m0Yqg1pMZ7GM+O7WpPbGGpKbcbzoaSfB5AswnVVjpfWBNkTStox0Zomt3FO1Y2r8F4oac0UVPMCnINjoaSjU5HZDbmN3dzGbJqtU59bqjKO5DbeNO0EVbAer5l0W25jZ7pPIJT0Ol6p6rpi2gmqPVhFbWfNmOklCCUV3FGb/p7cxrX+L8ttfK1m1vL/gtNMQnJ37XSfY9Nk/0dnTVBJ5tVePK82+j9r9R6cCsE/2dUhInBnTGgAAAAASUVORK5CYII='},
  19.     fedora: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEoElEQVRIx7WWa4hUZRjHf+97zsxxdtXRWdR0XN12F1kbMi+peUE/SEFCNwmiFsyRrCToixYVFVQQRSAilMgiE2WykGCiReqHsvXWtoaLjqm7S6631lVLV92dM+fy9mFmz8w4Ozszgg8czsx7ef7nuf2fR1CiGJHoPGBx+pkGVAEC+Bc4CxwCWsx47Ggp+kQRMD/wHLAN0CldXgJ2mPGYVTawEYnWASeAAPcmClhYyANaAdBPgB2Ar5h207SorAzw1LLZLJk7nYrKCjq6LqFrUiDEK/r4WZOdq8d3F7XYiEQ3A68XA7RshzkP17LxvUYWzqrP2bsxYDMj2kTv6XawkwDfmvHYyoIWG5Hox8C6UkAbn17ET03rqJ4Yytsf4ZMc+bufTmss9F0FO/mIPn5W0rl6/GCexUYkOhU4V0rwls5/iL1b1+esJS0bx3GRUuIiqHl1B7cTNigX59QBUC7AE2Y8tt8DTmfvf0BF0ZgOmHQd2Ejt5HHe2qp3t7Jr3x84roumaVhVD6JC1YNgMNCH09kKQtw047ExADJ9d3kpoAAL5jbkgD77xia27fyNATNJ0rIZSJjYF0+hrl/IOLQiCD4DIGhEoh9lA28vtUZWrViSSaJb/exraUfX7yoOIXEvnwGZVq8UQvcP7kYBpBGJzi6nVuumPOD9TpgWrquGPuhYYCUy/zPA1UZk9UQJPFYOK2iayKEINRw1+Ubkfkjm4vsSWMR9EDm+NpNcgErV86A8r6cJvwDpKZRSJC3HW8p2rUKRTCRBpLzg0yVSgAiFERPqQaXP2kmwzGzNo/R0l8n31MgQVI5l+fx6Vi6bhpZWPmNa2DszLjSa3U1voZRCAbt+72Z72zWkvyLHWrer9W71ujAi0W5gigcYGI2sm5cqP9PC3flyWS6uWtlMIul4gXZ7zqKunc8jv5xWJ0JhZHi65yIFuEohhSgZ2LJdL0xu11FU4s5Qx2wPWGg+5KSGTFyEJIDJgjVbWLGgBpEGX/vCUkZVprL1Tr/Jl82/etr2HjuPdfEC9N9EJW4N9303M8B1j+a0Ure7HXXjH9qFoK3lsLczJzKVZfMbAOi7M8A7n3/nEb6uSwTCS7Zh5PsUsKYj/GkOEQLV243q6wWZYiSfT2bKRMqsUhX4fDqi/Gr7LKVFahlelRrulQ7uo5wz47HLMm8ecB1w7IK3/Fm8bCt3GOoqKE2ZJpFVcwgJgWAhPqFmUqbx/9XZQ5l+vmTGY59mgLMtdB206gi4bt7U8eTSmYQnjPXWNn2zr9z4vujlSsoUJ1Xkg9kYCGI0LKQqFGT0yACh4EjWNj7OD1+96WnoudbHnv2t5YC+bcZjLR51ZRimAy04AXwGAb+kd/sahEi5Vwi8Oh6U1z6MYQSMUkG/NuOxL3KaCFnp4XQcAdukYfIYpBQIIbx3tjSu38KPv/xZKug6Mx6L5nUv4GR2fJ0zhzjZdozW0z15Gn5uOcHMZz6gec9hdE0rBngeWGzGYxuGbEJGJDoXaB1qqKurDROpD3Pjdj8H287g2g6GUXTG7wQ2FwLMGW/9kdW1AnUECN4DIdjAFaAZ2GDGY9dLufQ/5qysLR6Dh4AAAAAASUVORK5CYII='},
  20.     ubuntu: {width: 30, height: 30, data: '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'},
  21.     arch: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAADhUlEQVRIx72WXWgcVRTHf+fOzO62ja0lbUeqREiVBpUOWypRqFJRVomID7GtFgUfVCw6FkGfLCLxyVYIOGhRDFSEwq5goaCgIOKjVNBpVVgTSovVdCQmNKb74e7c68NO/Fh32802mwP7cu4993fPOff8Z6FL2xSEGweOnMp1G6+6DRQYd0Q9M1KY7OoMu5sgNwjXA48ZzB9z1bgPmF+RjJWSURGRmjbrRHh6xUptC/schcQajOHwioAH3jk9mFLqHkcJjgUXq7HcX5h8vufgVba87VhgKyGlFJW6pq55PJefTPUMfMvE90NpSz1gK8FRgm0JjqW49Gc8DAz1DJyx1G7bogFN4I6CaqwR4d3egA+dFMdSn9kieccSHOsfeGzAGHPHSGFq17KD775+7VhKydcpS45ZIkcdJcZRSa8tYa6iyTjy6vCHRatDAbqy3Zv/yRXDBd3IDG34RhvjaNhmQBIf16btOG2rW0+Mbikui3KlRF4yAsaABoxhhzbSuASgjaCNoRJra42jAiB31RmPfDSVsRXnDaZ/EWaSNWOSyyQXiLXhmrTFalvtyj88+NVVZbzaljED/RpBa4NBmCnXma3ElGoxsQElkLIUfY6irg2ZvtQbuUJx5+d7tta7Aj9yfOpGW8nLAFGpxvRCjdlKjDGNUsm/6lWNY+arMWD4ZaF2++Y1qSxwcsng3MeTYltqrFQznPqtRLmu/+6NSOueNfxCqabVTLn2HpBdco9vm/jhOhHOTC/UVyn538ZZ4BhQB54A+lsdnLZl77n92wpLArtBeAJ4qM3yUOR7xWRfBvgZ2NBiXxHYHvleqSMBcYNw52Wgzy5CASLfqwBP0Zi0ZtsK3NeRcrlB6ACvt4HOA++38H8JXGwTc7RTycwC7TT321aZRb43D5xpcl8CfgXWu0H4Wifg45eZsAuR75k2a6ebJQA4B+wFHnSD8Ia24+QG4QFgc5cfFd3i4d4J3ATsAWZaHuQG4TrghSsI2c1uELabhO1t/BuBL4CD7TJ4FBhsCqoD3wFvAXdFvpdtV+rI97LAMPBm8hbqTZxX3CCc+M8cu0G4tsWrPAKMA+cj3ysv8X93GtgEvJj8Fq0M7Ih878dFcD7pw+/Ap8CByPfmWAZLkjoEjCYi80Hke0+KG4RbgCngMDAe+d40PTA3CDcA+4ExICtuED4HfBL53llWwNwgHAAO/gVwPkSB3nUbowAAAABJRU5ErkJggg=='},
  22.     centos: {width: 30, height: 30, data: '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'},
  23.     opensuse: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QAcwC6ACXE/I7hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFAklEQVRIx6WXW2wUZRTHfzM7sy2F0mULLC0C5VKQS6CUWy0SjSj3RKMEiIgJDwY0GDAgEDEq2AiIROVBfFAT4+WBKF4DiqIQBAJEaAkUoeXWKtpC6Q16290ZH/xvMq5ttysnmcx8O9/OOd85/3P+5xir9+WSQAzADxQCs4DJwFCgl97fAMqBY8Be4DgQAdxOP9qJYgPoAzwBrAGy9HtYH3a0NgEbsLS+AmwFdgG1HRlgdaA0BZgDbNPpbgMXgF90oitAnfZmAiOAe4ECGbgTWAE8D/woYxOeOAg8B7wIRIED+tDnJJaewFPAk8BYnfYF4B2gwbvRV7gkM17py7L0JrAdKAJKAV97lsdJK3AU2C2vjZHnAE7o/X8UpwDrpfRPYBXwgeK7DBgNDAJCQIYMafLE2iu3ge8UjinATD0fj+23PECaB2zQ+roANE1XATDXA65y4DfgrO5lwHmgPs6Anbq/DmwGioEfADcW4xBwWECKSQtwUe96d+JeJ+qEz0TdcAlwwjJTDpqG73TcnreAlUAJcD9Q5ytckmkATwML20F8XyCtI42u6xB2WoxQjyGh7PRR42xftxkNrdWTHZwc20y56OLGPPAr8BCQJ+8UG6v35aYqPUIkKZbpZ97wtQwJTKIpUo9tpnKp9gQHr75PbfO1XX4rbb3rOpe1faXy+yow0lQMk1YadcPMH7mJwYGJ7Cnfzu5zG/n+4ttk9xjBrGGrSPMHFkSctkUeHL0HVAPDgXwTmJ2sUtd1GJSRx7jQHD49s4bym0fJDRbQP300p6q+JdhtAMODU4k64fnA3R6kH9HzDFNwT0ocHHICE6huuszvDWdItdIpHLCYSdmP0RxppKG1iqz0Ebi4+UC+56+HlC1TrDgkd0kMIOK0kmZn4LpRbrfVsuP4Alw3Snd/kPx+D+O4UYx/tj+onK5W6oWBoaaqVSL5S0XFATAMH6XVP9EzpS+T+y+kzWmhJdJAS6SRgT3H0idtIBX1JZiGBfAAkO1hMgcIWl08ZD/gEXlng4HRq761yvj6/GssHvMGOYF8KupOMSBjHOOz5nK48hPO3ziEZdoA/YEcFY9/5WqNPpxIHgeeAT4CigzDXHSo4sNuNU0V9vTBy8kLzeZ602U+K32Jkqq9+EwLMFygUdFBhcgEblqqTl1RvEBu2ibK22wavhVnr+9/tKR6b8B13VTDMG3LtPEZdpsq30Fgk+e0o8TdZZY6h6lddPkiXV8B7wJbfKa90Yd9jzqTHFHhBSm9pHStVeGYJi8fM1bvy50usv4/chb4EtgPVALNOlFfNQbLxNEzZUwZcBcwwVJXcc2DvGRktK4NQJVQGxCgEBW+CpwWzfZRShVbQJsIfzt3JiFP6S0T2+0GvhGolorztwKupZh8DCwHcj2UWCl+9Yv4e8lt8XJL/P2HYloq3BzRoVBXMxY4CXwRUxwj/nWyEOCUeqUa0WIPKU3X2hTCm6W4Vq6ujO+tlAFLVSrXxd7HFLvAHmCjrBsKjAfevEP3Pwu8AnRXC3Ug1u56e66oOgRb9fU+YJiAUZekwizFco08VQTsUAjb7TJb1A02S3me8rC30HgrgcKg0LtNPZop9+5QBUs4Sfg1rmwVn7YpjsWitnNKHdfT0E8FJmrt1961wM+Kb1IjTKZ6sbXAQE9IwnEjjOXBSzmwRQNAfUcjjNHFoc1SSWxvaKtR3saGtpMyqtOh7W9YM5he0PB59gAAAABJRU5ErkJggg=='},   
  24.     bsd: {width: 30, height: 30, data: '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'},
  25.     apple: {width: 26, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC2UlEQVRIx7WWbWiNcRTAf+e5z4aLsTWUEvOSpGVa0eRdd/hgfFAWebkpstrwQb5KyZfJvph3z4gkShTWvd4iIj4MTcqY11jbMO6dzb33OT7s2dp2tyn779S/ns7//P+//znnOacj9EOC4XwfUAhsAX47gdCy3mztfkAmA2eB2Z7qTl/2dj8g14EpndSP+jpj/adDB7tBEsA5o6BgOL8AyO2mPuIEQtWmQ7cIGON9K3AN2P2vQ3YfL88CRgIx4KsTCDV4W0OBJqDGy1MpMDwYzp8E+IAfwDsnENLO90kPgMXAUiAbyAT+AB+BZ8BDIAsYBnwCmoE8YAYw1gM1AM+BsBMI3UoCBcP5qV4INgKTenG01gN+9x6RA4zrxfYNUAGUOYFQpA30UKUwurzMRov6U1vdRSBho47ADhvgUiRv6wdSi10QMQchAbGXMvjVqUAoKrHKqRmtWK9bsDIENeUMijTXi71z2qC5DgsPxWwLVvtxM/y4GJS4wOXMpdXH2lIKNhYrVDEtEVVKu9RR/Es8W4xlpiNBDanra6q6gt7HRxv2Rr0aS+p1PsyLPwmkrvxQVzC4RF0ZX7dmZpd6tH/XptWiYjR8qjLUbbXXAmc60lY7a2E5ottMx04srcJiyYQH974BWGK7Ny2fi+klotmi7uG6vNyxbR7NWZARY9AnFRkyAD8FCXx3ozK8TABuzN1xukX8G8B85QpKiv65K/vmX5QUjeUOIfKEARFpTODbLgDl8w7bQIWluk4M9iMVwRW5Aqzu6D0HFh+fHh2ccj/u86Wb6eKCqn7Oqm9aFXxc/LSjqI4uynmV3tyy6/2otBNGAqa0Zv5qPvBiT97T5Jnhav0IGn/tRbXEgEMVbJq4GRE3ea4rGNWE6+5H9SSq9LB+onob1QuoVqIa6cXuPK4WtUN6nIIAOFmTBqwESoAJQDXgAJXeqNV+1vbsgt7U9BYoB86zeXKs85V/AeUoStboA5DrAAAAAElFTkSuQmCC'},
  26.     win95: {width: 37, height: 30, data: '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'},
  27.     winxp: {width: 34, height: 30, data: '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'},
  28.     win7: {width: 30, height: 30, data: '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'},
  29.     win8: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAABoUlEQVRIx+3XzWoUQRAH8N/MToyiyO6amCCKkvj1AF58Ds8eBc8+iTfPPsC+gAiCCL6BBw969jS7BNSomfFSA82wG3YnY5YFC4qu/qr6V3V3dXemb5qUGchzquoq7gXfj/IhhtnKSp+M6pAH0XoRB6G4Uf4gyt0FmmbZHLQNS+Rt3MENfMYWXuMWbnaIy7QwKbdD+RUcBh8k8mEYhBme4Qsen2VFCnzAXQyXGP8HdR9bocAja6DcmijvK3Qb5bH/a3xehrN/OH4RDQocLfC8Xc8ic/3GSfRP54ydJ9ctPdMCL5POKikbOW3/jk8o8QI/k7FVa349p62Rjwu8TQyfZrQOb7/hF96E5zqEvyrwfoUJJ3iKr/i4wrx2qGd5eLT0dRberkrt6zbPOyo56xGsuiaQeqMz18YYrtcV6qwvj/N1bK4C7+KhN4pyeB57osDzeHjvYR/Xoz4OEOMAdS1S5qAPANkpv4ZLAaLhPVyOCP3Aq/hFjAPUGBeWzYDdNsqkLCIquwmwRt4JIA3vBG8lGo6y3g/opMwTUCnv43b8q0Z/Ada0bvENqS0vAAAAAElFTkSuQmCC'},
  30.     win10: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAABRklEQVRIx+2Xz0rDQBCHv2kDSi0eFCpo63+rbbVF38Y3ySP0VXwHPfsAhRztWQ/eTTYZD93URbTWhBiKGRiyWch8s78Jy4xQpPlBE+g6fma9LfmDT9agngY8B0bAFTBY8FXoLZn5BtAG9oF7hCbKA3AD1LPkK07wFnBgARc282srkWsewhbKSw6dQg8/mAKH/LHVyoCmYCpwBa7AKw32gFvnPXLW5ptnAvIKOgQxkBiQCIhnLrHdM6gYxDMQxowH5hNYn5yrO5oB0oDzvQ/wuK8WMslzYsEP9NcqqXQQnebgvmWssWrOEksto05a0l8tJYE1+W8nrpUFpiypVVa3xmJb23VgD9gFOsDQ9swjoPXF/b4NPOdpb5ebJPxgx3ajR8AdIpuoPgK9YsGLk2oAx9ZPgL5V7BJoFAf+ObF0purZ+aoLnL4DlP9aKWc3fxMAAAAASUVORK5CYII='},
  31.     winphone: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAABfUlEQVRIx+3XzU4UQRAH8F8vk6ALLiTqwYSoc5KshFWJXnwAXmUSvWvm7jNw9uRjeOHiE+jJF1CPQhBm2gPlZWII7CxOCFbyT/f0pLq+uipVySVQVb5ZYukW/uA2HmMr8CAtRlA9xQ6eBe5hjBWsouiwHBZnX/g6MZlggnWsJT7nZCz7gEe4M4euuehovoOnmOEJNnAjcBPLmV18w8s+Xiqqsv4UgpbPydMuIjwFXhiARgaiEfJVsThdO4v/C75SMR4VeBsvte1Upr+tCV9wgFc4ivMcaxP77nfbQVOQPsa9zelhajMnkTjHyKPW6b+UWnzf+/ruqCrrvT4mp6qsL+rqXfzEfg+5zWiOot8E+tCveV91vlZ5nKShLM4DCU5DxTjnYWJsUTH+EQXh5F+mUxEd/jrWokfexDQ6/mmcd5TNuW8jci7umBRmeI73pGPyflS9cfTcF6HDudWuyno15qJJeOVhKLcduH8G+0G6zOpUlfVGKDOLCWUTd7HyG+f/YjXeIik0AAAAAElFTkSuQmCC'},
  32.     win95Rooster: {width: 28, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAACXBIWXMAAAsTAAALEwEAmpwYAAAERklEQVRIx7WWfUzVVRjHP+d3f1zeLoi8iIQrjWazu5ZKbMUiyxKFO1qpxepSvGzqijaLVZuu1lZtbW7xssJq0VUrJPijl9nNDVobq5Cpc1KQs0iQDcG0K4TKvd57f6c/OMDldu/lOuW7ne33POc5v+85z3me5zyCBUDh/hIduA1IB/KBPqCzveKQR2dh8AxQBhQAV4A0oLFwf0mNFs1qV6k14ToJM4ANQJwik0A1sF4PQ5ADZAJrgCIgyVVqnQAGgLbU1r6f5iH8FDgN5AKvAdMbzhMhyMqBPYBZ7TAuYNoA/gZqgfrU1j5vhHu8C+hU94hy7eciiKwW2AlE4+p9QHVqa99kCDIzcAbIDlB7gCwtgOwpoFKR+ZXfI6ESuCfM3PtBZACxwF5NkW0A3gXcavIQIKI4ZV2I0+UA28PYj2uuUutioAEYUuNrwCOQaGpEwH2uUuv9QbrtEewHdeABICMG/3sSUZNkjNUjTA+5xKKaES1ZatJglTHiA9Pdk8Jc4kHPCtpCIXAkQH4kAmGFriFzNWRbUlL94RX+/sGzIqUIqJaQCEJOuVZ6NDiWIK/V/ejeN3SncfFVH1puQDBMuzMLWBKBMEcsr2h8blC3nhDGcIGcypdSIC/8Gu0yIuadH65+ZFpjjLyEIdalte04XXigPRt4EygHwlYwQdXBXoGxUSIeBiaBemDZvOEizCcXeyd2uXZVdRV0b94aL7wNAizzrPJrIMeko2wYGAYuAP9GVbwM72rd4lnPAC07LT2lMRg/u6Xpyjy5dF4DjiqhB/ABvyjZC/wOXAxNqPPJ2iY3kuKtCX/lt6R1pL5o6f3MLfWmSamP+tAwEHMG0KEDlwBw2F1AF1XNZmAb8I8ifxa4TLC7/LHH81P/LFCSJVm7lvdkQv/qx+PPjF2V+uFOT/ZApycr+ZIRt8yLlpCIz3PKl7JbUNW8BTiBwz4w87Oq5magGGgHbgdWqKo/c/UgG9xPVFTEat5FUV2BoFoUT1Wab1WwzMJhtyvdUiARiAl25+urvomN1bzRvqcfimL2Aug47D5gNIRRM7AZ+AO4RekmgXj85t+KMntyVH2cD05g90xSRTD8AkgCvgJOzgaWwBw7fnalZWRppHxTOAK8IGyMRUPYB7wF3Ap8rHRdGFr3o0t6/enxE/Od7hjwmLAxNKdshDV32H047B+ovDyqXDyKJ+XldRmnPKqNmEZw+p0HCoTt/ykVzUNbC2TjsJcB6bRs6n5lpfMNDFoD6uivqv0YV3KTsM3W2LnBej2obDFlxbvizm2p1nBjUsGwFvheRbIE3gbKhY0vb5wwCNKJrlx7L2BXj3idOuHBkKX/RgiFDZ+wMaI6hRTVcmwDdoR9a25S43sOsAIHgO+AO6STilCGN6vzvqB60KdVZcoA9kgnmSqHjwM+YWNcsACQTh4EbMDzQAfQDwwJG40sJKSTTdLJcvWdCPAf4jFd23FHx/cAAAAASUVORK5CYII='},
  33.     win7Rooster: {width: 28, height: 30, data: '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'},
  34.     win8Rooster: {width: 28, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEZklEQVRIx7WWa2xURRSAv7n3dm/tskWRttRFtLZpsMa1WJogoT4wII/ID1Qa3WrLDzDa+MKikaYxWo2RrNCiYEwwxscqyw+Nz6L4Q6IUUgjBVcA2SLGGhzwq2Oey997xR2fNsu7LYE8yuXceZ76ZM2fOHME4SPM2twFcA0wGZgMHgB0vLxiKGIyPPADUATXAEHAlsLF5m3uVlo12pKU87z8CC4B5QK6CSaARmGukAJQCRcAMYCHgibSUDwC9wFaztef7DMC3gW6gCngGiC24WiSB1QNrAZdaYW5ctwOcAtYBbWZrTzTNOVYAO9Q5okz7vkiArQOeALIx9TtAo9naM5IE5gKOAN746YFiLQ62DFiuYLayezpZDtyUou/1BBiACWzSFGwe8Aowqjo/B0QWu1yfZHelwMoU489rkZbyK4B2oE+VT4CIQCJwEDjpgLMiLeW3JLStTDP+qAHMAQp0rNeAVbo43gY5t1+Qxav6ZZHUcCjUDllg3Chl3t0WrmJ58ebnA7vi6nemATYYAqdKw9k6d/jXjkrtl6OnpHchyEYQbnWOQu14j8nI+hdy6/q84shqG6Mqzhli5iwGCtMAS8Vjqw891GlP31emDdSAlgeyFqhOpWFjDF6QuS+9mrtUL9EOPqlJbnO1dnc3f+32As8D9UDKCCaWNQ3+rOHcJRF3ACNAGzA1k7eM4t5fIE881zDf2/kZ7nsNSbuACRnUbE0gz20J5B8DjgGngb+yiV0mw5W268LciWf5aOaQVavDD5ZgKIPaHxrQpSo/AhawU9WjwEHgTNKlSheLr358VEp90fUj1uwl/ZFJVUPWe5ZgsyU46SgHiC/AdgP4EyAU8PQDnbVNAy5gBXBWwR8EBkkwV9TO2TvV3VXD2GQTTCmrp49YleWj1rkooqPP1Hp/N/X8USGm2og8F07kjKGtEbVNA/cA+0IBT29sstqmgSCwCPgGuA4oUVGfMYBAQPuzlYUNhohMTOocCV9N0lhRZ2/SgE+Vs/wjoYDHr9qmAG4gJ77fkS7mTFlrGiL1exozozNW3qyoszcBGKGAxwJOJtEJAkuBHuAq1TYCXBZ1cn4qzf+2VCBNmTkCfgmsiVXSvQofAB7gY2B/zLEkArfR/9sk8/AUmea+KdkFPOrz2+eyAR4AXgSmAW+ptk5HGrtLPN/ZnpxTZob4vgdY4vPbffGNKYGhgMcKBTxvqHvZpUx8cihqPjVtws6ISiPij+yi+wbU+Pz2v65UNg/tOsAbCnjqgMkdG8TuWUUbWmyph+LiaFilH+dVfbPPb0fSeW9Wct/Tw3q+63hu84wybTCq68oZbga+Up4sgVag3ue3t1wyMFHCQd1Qpp0J+NUjvl7t8MNkOtqlAH1+2/L57RMqU7hcpRwrgIdT6VwSME6OAzcA7wJfAGXhoN6QbOD/lXmfVjno/SoyFQBrw0G9SN3hvYDl89vnBeMg4aB+K7AYeATYDhwG+nx+eyPjKeGgviAc1K9V/26AvwG93nmQelk9KQAAAABJRU5ErkJggg=='},
  35.     win10Rooster: {width: 28, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEHElEQVRIx7XWa4jUVRgG8N/5z+zOuFrTRU1TumhEFyNrM0qaLLtqW1+K7K7SzZKopIKkCCoIpMztqlRENyo/FNFWUEHJmIVFdLGLIWlLqV0st7Td0dn998GzOm27syuxD/xh3nOZ55znvO9zTjAIaC7J4kAMx2R8hWU3FpWzBgeX4DIUsRX74tHmknnJQGZ3zJnQsJuEI3AG8pEsxVxMzfZBMB774RhMwx4dcyb8hbVYml+8qtQP4VNYjUbchu4FTwq9kM3EAtTHFearurvwCxZiUX7xqu01zvEILIvnKEr7XOhBthA3YiBSP425+cWr2nshq8f3GFPVXMbopIrsQsyOZJ1R91qYjaP76Hu4Bxnk8FgSyc7AfeiIna8jDGCXD/ayu/G4po/xbUnHnAl7oxmt8XsV5SCVpF2StKsW4Qkdcyac2KPtmhrj12VxEkbUdVUeEMxL/t6wSFJ3SnnIqHk/DhmZJmnqoLZvK5LMUTIN527L1I9O/735M/FhVXxaDcJZ2SRNGxNdSzOXfPPWuF++WbduyP7TSOemIQyN5xhQTtL046Gd7Q+uKF3ZetiWdbdWQqaxKhm65RyNkTUIx4eDl359xdoxh38a/mgrppIG0hmY1OeUkN0im793+XsXZRo3f3tT6DIlv+TL1c3LjcFdmIk+HSx4489VIe06KxVORTsWYWy/6ZJt+Gyfv36+fdPxY1fc3+qCOpoDw/qZ1ZlI081p014/4Sf8ij8HZF6V9omZYeWpWr04lRkZlld2FHct/JxgZQw+RwUfxHg7vsZvvc+t90Tuhg5MP5bJV7HPFJ7dzpPb2NhdyNUf3sniD9BU+B0rtLTV42psiuSXY4uecqW5TyZnVxZjNCzPpEYmTmTzNt76jrVr2HMrYztpyFHewPygpe18fKqpsHbnn7W0vYDpeBvjcHB0/Z1HT9rcURg5K6dcGOANMjcUdzjNazFZdqGpcGlsG4WhqOsp5x25BbncwO/Tx0PRY5BoKlQ0FTb2MuiFmK0/VPlqe5Tzy2l1746P/tgf3sD87qDWrfA89sAr+GxXYgX14bcfDk3WjKpVbxEf4vpQtHkghF/hbhyAJbFtBdmPTs++3zk8bOpvdx/jvFDUWt3YN+EOqR+JdbkySrxR15Cbp2Q/KMdnxM6c7VlvKIbif0tqIBftQozRVLgMw50XProl99CdeLnKR7+Iz4+2GD8Zirs89t/Wtjto2ZIZHdbn1xcOTaQyMRmOxZsxk1Pcg5mh6KVeHXG3CJuGdW5ga/cq05L5UdrjcGm8xM+upVzifyAUVULRhvhS2Cs+Oa7GtYNCWIX1OBLPoAWHpCWz/r+kfePX+Aa9ODrTCCxIS/aLNfwJKqGoLRgEpCUn4xxch3ewBq2h6FGDibTk7LTkoPh7KPwDaIRKEsPEhoAAAAAASUVORK5CYII='},
  36.     android: {width: 25, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAClUlEQVRIx+3WTYgcRRQH8F/PjLvrhJA1GgKLggElED0FEbsEIScPgniLaN80Ry8q6BI8SQ5J8CKoEA8ebFDBD0QQvfhBTDcbBYkfFxWUYLK6IRuiuGaT3WkvdWib6cnOjnryDw316lW/f1W99+q9RAvyIt2OB/BuFsrz7evCbqpb8UUWyl+Grem1/ZyFcjkv0gKP4EhehJmEHZituEj1axbKVao7sdhGMJIk4gL6eZG+TbWvYramW86L9Cu8hw9HGUmucl1PYv4qGxngORxuu9akheA6HMGjuIQOpoYsvRxJZvAyDmahPNdc1BlCMIUHI8EZkifwSsspXsXj+AkH8HBe3N3biE924Nk4nqXaj+tbSO7CLbghygcYfIovW0nyIu0irRndgntG+OO2hrwHu5sknSEnux1X8PsmPtiVF2n/b47Pi3Qr5rCKJdyPfVgzPqbxPj7Ctiif6cUQnY872U8yR7U3Rs646CeSk5XqvhjWOzHfq+XBFjyGH3CHzWMu3sTOKD9d90mFLtZNhvVG/m1rOr7yL6DjP8D/JBOR/FOkSdPoShx38duoGjMGwUpNXurgeXyPz/EGrpmEoVLN4E2cwI843KP3DGvHcaHT6S8MBn/eO+FJ+l3d19etn8L2RPJxLwvH1+KjJi/CdCxAk2CpUl3JQnmypWgNLpO8g4AbsRU3R+UaFnEu1pubaoHyM87jND54KJy4tJEaPxeLT4pDtc7lGF6L/dhTuDbqjuItktNZKBY31BJloTyLs3mRTtemV/FtFspTeZHuajykX2ehXBg7GfMiTRodSlKLvKnGLUxtNuOThr4uD9ONT5KFcoCLjTKwHMcrtYSr8Mckb9c3eDGG9TF8EucX8BK+wwv4bJSRvwCU5slvZWEwKwAAAABJRU5ErkJggg=='},
  37.     solaris: {width: 42, height: 30, data: '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'},
  38.     os2: {width: 32, height: 30, data: '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'},
  39.     haiku: {width: 38, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFB0lEQVRYw+2XbYhc5RXHf+d5uXd2ZnYnu5vJhrz7tglpVHxJSmulX1LBL0GqiIKIH1qw/VRoPxnwY2kpBUEE3ygiloJaS6NFoo1FxZiQGmI0ukZM3O3mZXeTTXYzMzs7d+5z/HDvbhZcw25epIgHLnPuw9zn/uac/znnGVicvSIin4vIAPAh0MvirR/4VEQGROQw8Jf5vuQWs6OIXA1cm/spYFWVRe5RADbMuR+ebw+zyF8b5vgpl8fCfIuG/1P7Hux7sCtt7lt/o4LOOBeoSvftc2kaVRxxxdHR5+nodis23Nt7VzLRnm6OTJ/Y9+TIYDIZJmWRzXE/cFN+2wJWq+rohZ655ternfVSjrrduuM7xobW/2LlUy6Se6JY8BasKE4U7xTvwBIak/+beu6KRax/+7py1OU3usjcYWP7YDqR+HiJ+6MtmHssIEERwDrFOfAevFOO7a3Vdj8+euyyg/U9tLSj74bebcaZbcbyM2OkagxgpVZaFd/rLTgUb8FZJfLgTGDqZKt1/EhzbP/zp3dMnUl3Xlaw6/9w3W2+7LYjcpsYuqyAEbAGCj22XNzcuSU2irMZWJY+JXJKs92ePPDX0y+cO5G8BBxyF19ZqnlFmf7frO7purb0qFjzoAgVERAyKGfBGsUbsB225E2mpciF2fRZgp48UB+cGE7eBT4Bmu5XryytvPTbicapo0mygIrCFSzltTHVWzpd9cdL3kvq6Wftph6LYvMwCiJZczQzwjYZnLMZkM8/nVciB84FhvbWRvY8c+afwEERmqrgetcVdv78T9ELo1+m758YmD6699mz4/NB3ffvjR27f3+suPKn3VT6S6QBmyahn3ZYXljiStZmQCKKMVn6rNEcKovMLJxTvFcKRWX4g8bUv7aP/B34h7FyPKTZGUh++eLypwN2q4lMQ5w93A5yqFnnk0YtDNZOtU+ePNScWLGlvLzQG/8OZx4IKi5tQ1CYOUbJDJCAEcFasCZgcyjnMk1Fca6pWHFGGXjzHG89Nv7FudH0fhvJgbSls1kTYNmaWwubu1dH1xerrr/U59cUq77LFq3zZQfGJEGkW425LrSVoILq+b49qycDRhRrMt9ZzcEU78FoYHywOV0qC4Q0PrijxsFX60zXwnvAT77WM/PLAUWxVOKyrbpYlomRqiuZbmOklDRDdMvDy+7s21TekrbnUp3XkxEwJgOzVnHuPJhzSuSVof31U3uemzg09EHr9rStRrNhtAvYOh/YfGsW8ECUQzugesP9va/94O6etS6WLFJ5OxDJYIw5D2NtJuwsYhlcSELy1hNn9r3zTH0z4EUEYJeqbl3IrFSgnV9Tc9ZHDv7t9NnRjxtrb36gh+UbC8Qlg5kRuyjGKqKBVi1tl5YZFxUy8aetlLPDSX3nnyf3fPxG813ghznUN4+/RXaw/cBNvihc9aNSumlb58DSNW5VZ9VUOjoFH4OmKR+9VhtOpjjSs8pWQiv4kS9a4/99eWrf6cH0dRFaIP+Z8+4FR+xCQxyApKEc3lVrn/ho6pFVN8YrOipmvYtYaSxdBGR8OBk4/Pb0675APW0ThzY1YBhhDGT9QgJyUZ0/B5Rzo2Hfp282JoEi0AkU8sNnAxhLmrNSyKaEogvN0SXNShFSVepAHRibIw+91Ll7JY7Wejk2+c78GfFz/Ogiqnq+TuAuWWOquktEhoCgqi2gueg8q04Ar+YFZPIW9DX7CrcC7pE7eyjDAAAAAElFTkSuQmCC'},
  40.     firefox: {width: 31, height: 30, data: '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'},
  41.     iceweasel: {width: 28, height: 30, data: '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'},
  42.     operaOld: {width: 28, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFOklEQVRIx5WWW2wUZRTH/+fMzF7Ytlt6AUpBofRGW+X2YAxoH8AEwYTEeAN8IupbTUh8kGgCQUPwycCb8oAaY4MPXrj4okEiaMREKi0C3VKgSIstbWlL9zYz33d82J2ltDu7OMkmO9/MOb/97/l/53yEItfPDY0LKw1uDRBvCxOtN4kamFAKAFowqYBYXOtzSuTEsFKXN/bFRgrlI78Ha+aXhDprHvtskWFuYqDSZAaI5gSICADA0RoCDA+67snWK5ff+F/A802Nmx43AyfKDCMEIhAzCAADue8AIAC0CASAaA0tAgYw6brpAcfe/FQsdqYosKu5+d06K3DAZCYmAjODiMBEMJjRHY/HriSTxxkwW+bNe7k1HK5VIhAR6CxURKBE65id/mDd1d59vsA/mpo6WgKhw8wZkAdkIrgAvh4b3fP69esHZ8acbV75yYaysrckB8qAldYQEfSm0zvW9V7tnAM839i0tjkYPG8xm8wMI/shyrxyJZk82tLTvStfCXranvirLRJZBRHoGUCtBY5WODI+1vrO4OBlZMsCAFhoml8FfGAKwJE7Qwf9jPD53ZFXba0BIPevGMxgJgSYsaN8/vc7KyusHPC3hoaOhabVRHlgANCfSvV9PDoa8wNuKS/vv69Un3fv1dvLU2oY9R0VVesBgNtLI1ZDMLQbTJhpkgdVJtxOp44V2lv7bt1StuhLD5nDqz8zLGZETWMfAPCh2qXLAsw15NmfaM4+64nHTxcC/pJMyoTj9s1eZyIQZXLWWoF2APPNhNJPWkQhJoKRZ2Ontcaw0r3FOtKU1jfyrRtMEDBCIvhxxYrtHGFu96TPVgcAtgi2V1ZMFQPes+0RUP7GRUQQItSY1nMcZm6jAokEcIhIF1Wo3Ak/GGW9UGYYTcyEJZlFH6yIK1qK8ZBw3YRv/8wqDzKXMATzCrdxSHEcYGvRxRo2AUEWwCmSix6BB4v835MHSRQrkWHxVvO9TGT4mWHmFWAjWMgIkjFgnONa94oIxIdIQMCk4sSoyaV+9RAISATjrnObx5X7q2SbruSplgmgOxG3igEjVqDcT57O5h123LNcwsbvKaUUJL/GIDN6puNLiio0zNp89hIRQARKaxwaGT7GnWNjA0pkJDNO9ByVJjNWhULrigHLTGNZPrN446o/lbpzcnr6bz48PjZ5MZk4zt7D2b9SBPUlkc2FYO9XVXHUtOpnx3knAFdrDNjpvbnxtLG/f/eIbbs6q1Lrh7fU0kDwpULA12qWkAmsnrnmKdNaI6H1RH/a/m7mAE52JeJvOkpBedN6htLqQMD8qb7hRT/gn5NjW8tNs9qrmTfxldYwRHBq4t5Hbw8N3p29qa2uxqbTLeHwBp0doN55hogw6jiXqrsurMWsRtERLa/cW1c3UGlZEQFyqpTWEK1xMZH44elrfVtzI2tGrLMm1vtsdyLRL1pDZdW6KpOgyrLa/lm1+ubBBdUrvYD9C6ob31u+/EKFaUaUlkxMNg4iGLLtoT13BncWbFvPR0qqPly8+JumcPgZJgIxgcEgAgwipAWY1u6UCKTUMKJBZigtEHlwRIQIelOpc2tivdsAjD80H2cDrzl24tPxsaPLTItbgsF2QqZTaAAaAEMQJAqGiEIE5I6DKutwR2t0jo8feuHmjR0A5kwQw88IJ+5PnYmlU98+ZgXEEb3IAkWDRKCsAkimXRGAuFIYcpzB66lU5/7hf3cduDvyhV93fqRJUMpsLbKsulei0S3NwdCacsOoBoEmlRq9mkp2fTkxeeqmbfej+OTBf5/triEdK/H6AAAAAElFTkSuQmCC'},
  43.     operaNew: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAADr0lEQVRIx7WXz2tcVRTHP/e++6apY6bNxNrSSVJLgk0XoaBZVLOwaTaaGBFc1F8BXbgoCLZK8W8oLoK46KKoFFqLgi4Mk4C0SUBSpGlUSKEx1aalxipxkpm04/xI3j0uOqmheXcymeAXzurL/X4599x3znmKCiCJNgN0AoeBZ4EngfoSPQ/8AowBw8CImp0M1tNU6xhGgaPAR+UkArFYBAAPhdb6Azz/lLo1kduwsSTangMuAMZ19HpuIZjI/KkKEujVTI02QXtsl9ccjXer2z8PVWwsibZzwOvhfprLd+8wk19kSSxKhUiIIEBEe2xV3vmXcvfWaOkQ06TLtCiWkcztT67m5p+KWdF9xaLSSjV5Sr0b8bxsxBgixhDxfbb4PsrT5LR97atodLBsxuUyDZDs1+mZg0ey2auu8nwTi40rpdodV/vxy5nMsTXGpZqOukQXbSG+7c70wnqvdSAev6WUanLQPS+mUoOsPJzS671QRq+vElMA3/PatNbzgBdCJ1eSXanxUffrZULNTp6lQjw/N7doPO/Eg3o/FKOJxEkAVWoOS2W0OtTs5CU2iLE9e9LAtrXFVumOmzfrDHBoHY0JqoDveVeU1l0h1PbxlpYuA3SVOT+sZicLVRn7/qdKKZf2cVPqvS58QZXQIgO+77voVl1q+C5cqtb4wPT0Pd8YHPGoWTVlwvAHm4BvzF2gNoSqM/yPiBi3vAFSwC4HvxvIbCLj2tAhAvMGmC5j3AFcq8Y009lZ6x70ktUCYyJCWFjkjU1cc6+re/nGTOm8tcN5EcKiEMihzM7WSJXX/LbrVRvP6zf5ZTtSbgESaK/ms/K0bndQaTM0dFHH564FeRu8n7cBYVEI7KmNmkpPzwlgu4M+/WAez9S1bBX4x7UbWZG+5vRvZys0jXBfywvVSyb/G4t7F37NFUW6C9bycOStpSjy2Y1E694KE77iMgV6Q1efn2qfOA+8GpaI1mqpcV/Dgfjl76ccmUaBgdL+HYZzKpl807ll/vBIUxLodvbgg/vO1ES3vIeVlZ3ZA44An5e5hR9VMvn0uuvtaE2iX+BYKKkUDY07lpv3NxZZDgSIAOFjSCnm/lo48/j42FsVL/TfRXa/EIgMqtDGA37Ek/r6GA2JenmsPga+0QBSXLJ/pxb177MpKeQKvc+kbiQ3/AsD8K3ZedKKvAPUhfHWClYsqiRlkbSG06+Q+vB+G6ji32k1vlQ7DgscV7BfIArES+dTCrICUwr6j8jcxUr0/gVFUnzchjOWZwAAAABJRU5ErkJggg=='},
  44.     safari: {width: 30, height: 30, data: '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'},
  45.     chrome: {width: 30, height: 30, data: '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'},
  46.     chromeToilet: {width: 21, height: 30, data: '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'},
  47.     edge: {width: 28, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAACXBIWXMAAAsTAAALEwEAmpwYAAADJElEQVRIx7XXTYxeUxgH8N97551Op9pqaUxKF4oKkapbUaKqmxsrhgULRDQWEppoLDipEGVBr4jPpBHCyufGRkQqtz4WTQkzl4xFBYPWRzRB0UbHzPS1OSM3r/e9M+1M/6t7n/vc53+ec56v01CDNBQNJLgA1+AKnIfT0IM/8S2G8C52YqzMs6PdbDZqyPqxEQ/iMjPDX3gCz+D3Ms9aMyJMQ3Eu7sctjg/fYzN2lnk2UUuYhmI9duBCs8MEHsLjZZ4d6UiYhmIdXsXZaNVt+QwxjsewbcrTZoXsDDzVhewQfsRv8XkCvTgV52BRF8Je3IlRvPSfh2koEmzHPW0/jOATfIy92IcDGMMCnIkrcSPW13g6hE1lnn0x5eFq3F1R+Aov4+0yz4bSUKxCUubZd20ROYKRNBS78CIu70J4MW7G1iQKtlS293XcWubZw5HsdjyAZd2WX+bZ3mijVePlxjQUq5M0FMtwUxRuw5Yyz/akoViUhuIRPI1fsKcuOso8+xQf1qhchDUJrkIf7sL2Ms8OpKFYHPNwa6wm79dVjwreq/nWj5VNDCJgR5lnk2koenE97o2KX+LnNBTNGHV1VevgNAta3sQwnizzbDIKV8aEncI6vBNTYTqcNM33U5p4tsyz8Zge83EtVlSU+jBgbrAwKfPs74pgCW5w4jAvaROcjEtOIGGjWtqSeH7tOBrPrzVLsj6MNyuCJDbWduzDm9hfrb3HgR6MNtvCuqeD4h94pcyz4bnY06Rt6w530Fk1B73x/4QxD/d30FmAwTQUA3PtoUrPa8cgQhqKpcdKkIZibRqKNVPv7UFwEG/gjg4HvhnL01C8ht1lnv1aQzIQi/UGZHgLn3ebaTbEca+/i70f8Fns4j/FvjiJeViM02NjPr+SZveVefaoLmE+HMe80IVwRaX0/YMjMeCamN/B5ljdGSrz7DBewK4oqkv4Ka+WYOFM8jTp0ky/ifPN7jmY3BpVG0lNBy+xKY6Ns0Gr2ieTacaGr3EbrkN5jESH8Hy8jzw37d2iw6WmgbW4GpfiLCyNU8BYHB9HYwR/gI9iULWqd4x/Ae476UvM5/VLAAAAAElFTkSuQmCC'},
  48.     ie: {width:31, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB8AAAAeCAYAAADU8sWcAAAACXBIWXMAAAsTAAALEwEAmpwYAAADmUlEQVRIx73XW4hVZRQH8N85HR3LtGZXICWni5RIhZkSBWWY7DKJrF4iogx70BCNbhBEZdHDFGZF+ZBEEYHdm6ZAjdMdIrtBBUlUlm1LyvLMOOlkWjO9LGGzO5eZUVpw4LD3t7//t9b6r/9aX8lBtmqtfgTm4EKcjZMwDr34DE/h1SxN/imNYvMSyijFDyqYgeW4FIfG80HsQYbfMBnHYw2WVkYAWg4PpuFynINTcBTGxAHkQL/Eo+jO0qQ3t89C3IhrSsMEnogUd4SH7WwIX+NhPItdWZoM5fZbhlPL7byt1upT8TxeGiawSMc0PI73MLvwPkN/uQXwIfHRB5h3ABycge5qrb4k9+wv9JVbkOo8rI+c/oFdB3CATnRVa/XluchsLzUBPzk8Pgab8SFmRijzee3Dn/F/DCbkmN7IfsTqCPsXpQbA4/EcLsHbUZe3Ynpu2XZ8ih5sinI6FudjftT22CYH2IV7sjRZWWkQ7jkBvBar8EQB+FusyNJkbYONX6vW6qvQhSsjGkUbi6PlRGI/eAfW4XuswNOYm1vyCxZlabJ+GKX5CK5rsmQjFhYJNynyshx3FoD3hiyub8euLE368SC2NlkyFReVCyHvwOI48eIGuVo9AoZvDn1oxv6ZjQg3C+9ifOHVTtyA3cV0NVG4saEP1zcLfalBR3o9arzZpiNpRq3WZ8WcL2oBbITA7dZPLOW8noKPQtH+D9uZr/Pb2wDvjvIZGEUEilbGjlJ4fVooVkeLD3ZgepYmPx8s1/d7flsbYKHZV+OBEQwglfByqAEXBkvVWn1yNP7D8HmEvtqEuZswL0uTn4YBPBfLQveL8voN1lRwQa6mHwrg+1oMCI9Va/WbsjT5oQXwfKwsdMG89WBbJToR/IqXcWSIyXFNiLIAndVa/UVsyNLkuwAcF213Aa7AlCbAW7AmS5M9FZwRD9/M0mQAA9Va/ZZoq81sNk7Hwmqt3ot9wYlJODEGzUa2Fy9kabJuP+FOiHy+UwjLvbirzXQya4QE78kTtozDA3xLrivticmz6yCKSjduztJkRx68L/53FNpiL+7H0mgqo7V90V6XFKukHPNZGdc26Mt9eBLPjBL4fVyGu7M02f6f8okWujFKqTuml9/janNujFBvYUMc8ipcHLeVRrYVb+AVfIJ6liaDDbtOzOdnYQnOxN8hOl/h4xCW/phOVGv1CSFIE+KAnXHwndgWF8KBuKUMtgrLv28GFoFL1p8HAAAAAElFTkSuQmCC'},
  49.     vivaldi: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAE90lEQVRIx42Xz2sVVxTHP+fOS6ou0hRNGvAniOBC0WDbEBIXFmlcuRLSuHHlxo1k4UZo/wEVV60LN634qxVaanCRpBrEYIgELAHbF8UfEeNLUPu0iaHJzNzTxfx4d2aS2AvDu3Pfved7z6/vOSPkRnXv3h4R6RZj2hBpQsQTERBBRFhpqCqopr+oTqvqKNb+1HjnzhV3byrpbWfnVhE5L8bsE2NqQCKIMek8OpW9gKiiDjCqqLXZi4ThkFU92jg8/DgFftvRsVWM+V1EtojnZUFj4PzaspoCai3EwOpexNpnqO7/eHj4sQHAmPMisoWlNPU8MCaaxw9LzT2vdkFjwPOiSyeWita3IHIeQP7u6OgpGXN5SWGu1iLRet7ciZZ5EydrYZhoG71bix+Gh0tAtxqDEQFr8Vpb+ai3F9mwgaBcJjx3Dh49SjVwLZIAKyDWpu9m507qjh1DNm8m+PMvFr//Di2XEWvR6Gy3VDs7K57ntQB4TU2suXQJ6utT/wWTk4QnTyKzs7j+TzR3/aphCM3N1J8+DY2NqQz/yRP83l7s7Cyqih8E0yZOGQgCvD17MqAApU2bkO6vEd/PBpvjkjQeVPF27IDVqzMyzIaNsH49qCKAiDQZwAMQz0NfvSompwheezva2opYmwVKwJ1g1HfvIAiyMgIfrVbTs4BnUvmlEuHoKHZiooDtrVuLdHUhsSYZcDfoSiV0bAytVrO4N28h1Wom/40kESqCrFrF4qlTaaRmtG5txe7aXQAVY3Bl4Puoc/mwUsH2XYck+OK9JusMg52cJLh6taC1aWhAur6q+S+OZlQLTJaYWoOAYGAQffGiKE9r9BMJMoagvx+dmipu3rET+/kXUW7GOZnkaEKVALJtW6Tt06fYoVsQBGiW6mKNE9MmqVGpEPb1FYHrSnDoENrQUCMGly6DAOnoQFpa0IUFgsFBeP48skgOw+SZJ9E8uH0b+/BhAbz0aTN6/Di6bl2kqe+ji4uR8O3b8Y4cgTVr8Ccm4MYNtL4+y26Jm6udneq5PJtwrO9TOnCAuhMnij4E7PQ03LsHMzPR/xs3YtraoLGR8P08/rffoOPjqOfVikZsIT8IKLkVRGLaVGOgro5gcBCvqwuza1fR7C0tcPBgIbgUCAcG0AcPwPOiaI4xXKvWfOz6Kgl9ERbPnFmx+OetEb6sEP76S5ZO8/ITH+c7B02qjAg6NUVw5Qr/Z2gQEF7/DV6/TmVZpzZHPormRnOaFrqIUgn/2jW0UvkgcFguY4eHUd9Pz7sy3bQziSnU1bTWMaDWYufm8C9eXBHUvp+P8v/lSxSwbg125RZ8vMQm99bB3buE9+8vCxyUy4T9/agxS2qqBR8v0yHmN9s3bwj6+tD5+aKJ/5kl+PEHdGFhZTkOXxtgOgXP3TRDiZ7H4sAAdny8AOwPDhCOjUGcs/m8zYMC0wYYzXeMqW9dIXG+/nv2bM3k1rJ48ybBhQtQX58BtM6lc6AAo/Kmvb3HwOWlU9TpEJN5GCJr12Kam9EwRGdm0Lm5DBerQ72FEguEqocFoNrefgvYtxxBZOqt+xUQk79b4VYCjMfQJyMjXybBdRR4tsx3SWp+co2627JGJnZocenxLMaKovqTkZHHwH6BIYk1WurJALpPvC4oK5wfAvbHWBTKzvPPdvcA3UAb0JQ0gx9iy2XWp+Pg/XnT2B8Z3v0PUbLe7VyKIGwAAAAASUVORK5CYII='},
  50.     ucbrowser: {width: 30, height: 30, data: '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'},
  51.     yabrowser: {width: 29, height: 30, data: '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'},
  52.     vatnique: {width: 30, height: 30, data: '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'},
  53.     anonymous: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB7UlEQVRIx8XWu2tUQRTH8U/WROOL+IyIIKJWPpo0grFQomCXwkZQsBGMYiUprE0TUgUslPwBloKFgTSS1GlioamsDCGFkFUk0Whcm3NhuCbZzd6764EfO3PmnPly5+w8aNz2oB+vMIvV0Gz4+iOmVDuDKdTqaCpiS7ETmG8Ammk+cgrbxDagmSaKQk/iQxPgjzi11cSVOuCLOJb0a3iHmziE/biGt1hP4npxvsgXD+FXAH/jZTJ2F4/QHf3xiKlFzlAR8NNk+b4m2+Vx4h8JX3fEZP4nRZZ6V9LuCMHtxN8Xvz8CmNnurSburAP+k7T34XMs45Fk/EW0R7C3rD38MKlxXmu4FXHPkvpmNX5QBDyApU3A9yLm+QZjS7heBHwQc5uAj+LAJmNzkdt0jZcxgwvYkRu7nPzZUluPnOWidT6OlQ2+6mco71+JnFJsbAPA61DeP1b21TidTD6T+GcS/7QW2DlUA7CIO6HF8FUjpjSrYBjv48WRfd23UNZfjZjhBk7EujaIT3FYNHolrkXO4HZhnTiNySbu4bwmY67Oekt6FqMlAPMajbn/KUEX7mOhBdBMC3F+d6XgS/jeQmha/xsZdGdcbbU26U32aulJ9me71FuJR1mP9tpABVe13/oruPIfwH0d+ILDbQZX/wKwkU9Vein3SAAAAABJRU5ErkJggg=='},
  54.     trollface: {width: 37, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAACUAAAAeCAQAAAABKh/mAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFJElEQVRIx42We2yW5RmHr4/v64lx7BFla7EDKlIypQ0ZbAhDQGDLlMOcyxitjrnFLEHjFhcW00TGtjABJ3HMODylmI4oIhUwUkAyhiJD2jEqpYWOtaWFdm3t+fR91/7Y109gavZ7/3ny5nmu+36f+71/zxMgplF0wYSUJ5PzTQ7Eh5KCYw30ECEAbcG+pF6uDLYM1fddbq3praadrlDHUC+k0hJdH+AapeTGl72ccTtBEglygATyGUmEMO000Eovg/TQzgni+xpb3m3mII9DIn03ooI3B6tqRn0JGKKBw6zkHDUECTFEP7nMJEIEkW46CdDFn/lDc/MSPoRM/kVw+OMGCDz3dt7twDk6+YAMihnDV7iJ0XRwP6n8m04+ppJ3uMR4MunnXlZ+ofbH5+M5/PFwPqOBUTOWOqjut91XPOybhh3WP/woOqp3n72qvu0WVQf8uqGpXKfKo2pYPemrHlMbLPeMbWrE6iiqx/djAc5bpepauTvKSAb4/qLI8JSIetapxhky3hHmWx5b3mSbqldtjgbWP8nrkBalrcUXrLBJPekpj4gTRJxhrSec5vYoKuxO88SR4jds8m9e9KqF8tv/VnBj9vpHeZBaKriVLN6lixKWMotaaniNNCZTzSHgIfbQDMwih1u4k3l0MpIWyqhg2+4Ad3zzg4LQPdxPPXlU08E65jKBqzxOIjuAozzLdlIA2EwrG2Pbe4lqIjQzhptZAJNKDnjJNe5Sn7fEy252lfOc6zsOeKMOulXVNtf6nFN8yWdcaIlnzQpzW9NHNrhcbXWBOb5sq9cWoNFzvuqV6Jtap7rBLsM+4WJ3WqDqh1aaKZMvV3ra5e5xtljlS85ytVVqtad8391+2zf9u02xAEvNtic6Hush691rqfGOaDzaSA1jSOM4P+BFCjhBHLcxjwpuYSazaSOTueTwG4aQBo4zk0OUAmeBJ0inj2eJ7IApszoaLbZWPWrAJZa61XVWus3vucD7vM+T0Rx2O9sZnlZ1yK1midOttN3pjTclAIG1kzwYbYftLnKmQUO+F/0BbzXPBCe6xj96ynJbbbXcTWb5He/1q2bZaqk8DMQBPLgwPKRqpzP8p9tNEme53iNOU/WCxea6wULxYTf6jA+o33K16bb5s16+Nh6SgF/BrzfHGjbdLd5jpz8UA6b6iO+pg35X1Wy112PmuF4MmGmna3qY/Ukz56TEKnRKfEPVfhc6x6nyOU+OgzegCBX9Iga76JfdpuoXvWiPF3zKkKFPAU0yT/1pL3NioPgAJLy2Sx2K4pb7gJssjOHHqTWWON1drvAu17nSh1xgkbphgCXXZJUIofi3fuk+37DOLXZ42rvN9nc2qd2OU7XMYnWRl1xmsblOM6zuDLPiOu8LAuwuHDrmDq/4onWGrfNRs8zxTlN8yk2usMDHnOBiM53rrmjGf5XC648Jwkwc0ZCfUjR/2ZOEqSCX86Qzn05a6KCKCCMIECKNSaSRQA3pxCFXyH6MLdeb8rAX/iip4+cDdZZZ5hmfdo89dttkvVWesdou+x30nKfVeltsMFR0wzl4jVK5g+Xzf1IQWEUv3VwkBAwwnjTiiBAgQAa9/IUMculgyu/bHvkM0mQAxo4L7su03EjMdGo94gFLLfUt97v/E3cv4v9QPs+valvnZg/Z76fpmKELoYz4z6esBGBMgPjRqUmrE48kuMy9sRxVq1xh0omxif9zZ/gspXMVgDlxxxdzF1NykieOTAx0e7atpY7X2QvJtPIfCXh1QhXyhD8AAAAASUVORK5CYII='},
  55.     webPositive: {width: 36, height: 30, data: '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'},
  56.     epiphany: {width: 30, height: 30, data: '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'},
  57.     konqueror: {width: 32, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAACAAAAAeCAYAAABNChwpAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKL0lEQVRIx5WXfZBd5V3HP8/znHPu2969d/cm2Vc2u8kmG8wLVEjIgFQkII0lg1otHenU2nas9g9pHadFHap/aGfsTNWxGaxaagqi/lPbWqRRYhsGCMEESDYEkpBdNt1d9v3evW/n3HPO8+IfYSxKC/b5+8zz+cz3+8yc308453i3k/sactcEsi9DdkCk5VdfnDsUpfoO6didGNevIIiNbThjpnzFyaGB4jcKO0fOVyOimSbJ9OM49xf8SJB4N4GBbyOv7SO7pUT39InXfyvS7v5cV66cy2dwyiPrwWpoCWNN0kkIwwjbjuiS5vjQSO/ng+3XnJtt0n7xZ0l/YoHBJ5C7KnSNxM3t588vPZzvLuzp2VSiVMgAYLQmSiyd1FANDak2dFJNHMXIKCJab9nhSubB4QM7/25qhfrzt5L8vwV6v4m8cYjuzUlrz8WLy/+S6y1XxgbLeJ7ExyGtoR1r4tQSpoZOYmjHhjDRdBJDgKXVCAnX6lS6gr8af/91X7i0xPoLtxG/lSN/FNw/gtjTT35XidGZ6dXHSgO9lbGRHrpyklIABWUp+47ejKDLA+Us2jictSgHvnCk2oDv4RfzLFXbv1N75sLH+gqUJo7iv6vAjkGCSo4NM+fm/ijXWxzeN15irCzYmIOtXTBagM0FmOgW9ASOjVlJyQecQziLs47EOJRz5DIKG/i8ennpTzaFrR0jRfKZh3/IfZvA/U9WvdGCKQ4nnesasfvF8eFuCjlBxoe8B3f2QUYABmptiwcIB70Zybayx+6NAXkPJI7EWjqpJRMoUifkuWdfeSCXo3di5IcpeG+Fn37h+X2f3Fx6fNXUmv+5kFcjfd04z6edQrcPgYLjKyCFw/PAk6AthIkjTByroUHh6M0otDbUNSQOIu3IZT0WVxoHb82wuZWhLj5N6v4S+78S+NKX/nzva7MLG5dNsOVy1W1e0hmSFFIDGQVZH4RyCE/SsJAISHEI5TDCkvVBCVhsWVIjuKY7YFslw8TGDLGFZmyYfWn6oA/F4fei3lbBlmt3X2yVhlmshUzVHHge9RTaCUTp1Y8LvgApMFKQKkFHSIyU1FPHLcNZPrAjT+wsUghW2o5aZAmUJNaOwPeorjRuRFIsF66mL6vVVVGtrkqAQ/d++MGayHH2pVfQShIJSTO5KlCLoJVA7EAqyGYkMpB4GQmeACX5/lzM18+3iQyE2hJqQyN2rLQs2zblyQSKZhgPCUVXTuKL9yE84MPAfYuL86MNqyYWpqfQ2qBxpFaQaFiLwBdvxuXAU2AAfEmQdfipIvANzdSyFjusEDghiIyjW0CUQBAohnpydPmiEjSaG5UoKncUJ7UxnxdC3CWFnOgIn/byPPPzsyZOBSXPkTpY6cBAAM7ADSXoVYKl0LEeO0IjaGpoGYFxAl9JAk/iexIloJUaQm1YblmUUvQHekN58vgXm0Ws+CJCfvoz99cffewRt7yyRFZKGtUV1hv1ahbNYtvS7YOxEBqYbcNSCMsRzDVhruFYbTmqkSPSEFtBaAXaSZLUEWsHDtqpwZeCWtshnca6erOpsO6zOK9WXf/WwsLC9WEUqXKXRQipWzJ/djiwtyxFcW4l59Htw+Q6rMVwOLpauTYChcBzjk4iwAmckAgpMVpjLQRSICz4SpJaSximZCqa+TD7YvcqQuxDqMuXp1rPPH3iPUmcbDx08C5vqZ0kz0w3j+7cdX15dq2zKVvM07ISCxQ9cG+mEZurjzIxjkbi0MYhcAhjkdagE00nNlhjiGJNp5OwtRSg4hVyuiMv3Lb7b5oPYBTQEkLUM5kg/fhHP7Kn1FPxnr20cGzkPfvX564s/LQLMgilcEBkBBKHLyArHZ6AZuIQFqw1xLGm09E4bWhHKXFq8JxDp4Y8musGPZrVN9jakx/4/Z5m3+LC9H95R458rT00PPz01i1bPuFwVALH796z79CfzSZf3zdanjl+pTo6OqYII0mkLQmOxFhAUPAFBXlVygpLhMOTDh8QvqAoJHFs6PYhK4RrtRZtt9Jq23Avm8rF39TGv0sdPvzlm3fs2HG62FUct9aAsxR81eelrfUpb/BCX7q+80MTWe/4623isIOXxiRRhyiM0WlKo52y3jFYbWmGmmaY0klSGqEmTjS1RodAJ+zfWZmZnnwuv3982Bvf5HP0iW/gnI1VGCfZO26//TNCCDqdmPn5WcqlIuXA7Xqjns66nv7Z0y/Pjr6x0pJJnGA7HcJWiJemKHO1Y2ENeQVDBUmtlRLHGmEtvk7JmpiD+7fMvPCDxbMj0czOu/buFnMXX7STk2fjJ489+Ql1+tSpRne59EvPnTzR9+Sxo1y4eIG4EzE+NkpRmh1zdRvS2//aBt3on5mtetLEuDhBmJR6mKD11T9iRsKBsTyvLEZ0ogQdRWzwjDtw0/jMedt7TE1+p/e+227Ytn2giz9+8HMnnvre8S/Mz85/U1UqG9zkucl6oZD7QKvZ1hcuXArPnj1jR0eGvLGhQZRN+6p1XWl29U3fMFIgrdfzbyytC6k1Hg6sI5BQa2vOzLZJwoiK0u69Ez3R4MT4yy9Huaf7Vs4kv/pTvb+yvS/vSdMyD3/14fvCMPy+c64lnHMIIborld7Pra1VJ4BXPc93n/ztj3/qjjt/vjJ27Y2cXYKXlhXTraCV6cq1yyryolqtsLbeCjqplR0rXT4buEopb4qlQjvNl5cut73Xgmi1tsdcuXZ3j75xtEfRk1MICWkaP3XT3ptv+5+ZMJPJiCRJNgBZoAaoTBDc88AffvZP33/33cNd5QEuVw3nlgWXVgXLoSBERV7GT7JZ3yhPprEliWIdk3bSLtPw+mlWrsnHvWNlGC5JdKdJT7mExWGMxhnzsZ+55ef+/scOpUKIPHDrqVPPPzYwOFjpJClroWV6rcPsumSuYamFjjA2aJ2isGRkSndg2JizDHQ5BopAXLevT11Kz5w5G0xMTIjbbz/g2u3WzJ0H3rfLORd6P24kd86FQohnxse3VbTRKCmRIuJb//yPbmF5ja07dovtm4YJ+soEmQylQo5Go0NeajKeIWrU3LF//V59dm7u37/z7X97tX+w/+DQ0OCeU6efv/LVvz1yLxC9617woV/74A2//pGPnt63dy9CCI48+iiPHDnydKGQDzZvHrlmy9YtPQODA36lskFcuXJF3f0Ld9NqN7DOsbK8snzPoV/+IPAykADX9fSUt9Vq68eBGfcm2HunreiJx4/O+763/IPZ1ytBtqAe+uuvHJu6eOn3gPqJZ0/2A32VDZW+/r5NW/dcv+dT+2/a31Uul3DW0d/fr5xzT72l0mdrtfWTzjn9VsY7CjSbzZV/eOSfbsbxG0E2v2/q4qU/8HxvMk1SB8woJcXa6ppcW10rb9u+bXN1bfXecrns2u2m08Y0/k+lDtA/8W74pr0H5KSUkTHmbZcopYS19taHvvLlJ5577uTK2Ojm17773f+4f9/evRcOH37oHQH/DVsBb0Ig0xkmAAAAAElFTkSuQmCC'},
  58.     seamonkey: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAIZklEQVRIx5WXe4xcVR3HP+fcc+e970e7u+3SBbYtS6GlakkrUm0Qba1RSopQGoMQIyokFoEEEQgIKjGCacQAiiTEoOGdEtAQIETKS2qhdOtSun3tdul2tzuzO7OzM3PvefjH3dluAdM4yc2ZM/fO73O+3/P73XOOcM5xqo8QN0toWlBbm+nxPLMSvHOF8OoBrLUW9EfGyF2VSvjPICgNOPez8VPGPBVYiF99u6mp9raurpqFSsmM5wmkBOfAWoe1YIwlCAxhaCkUgoHBwdJLMHGDc3cW/m+wEHfOS6drH+nurr+4pSVFpWJmQNY6nHOf6htj0doBjsHBybBUqmw0Zvh55+63n4yvPht6zxULFszZOm9eTbOUgmIxxDmmYWBMBKrCnYPceJmzF9Vz1eYealvS5EaL/pYbX38uX5j/FLDxlIqFuGdFV1frO52dacLQzrL0BOTkviMMLJu/u4T1161k227I+CBiEN++g1vv2E5xUr+o9U3r3SyYPBl62+r29sY32tsja7V2hKFF6+p1ct8YSy5X4Tubejhv00qyWbjoNFjWCmUN+/bnkFLS0BBf53n3PibEWu9TYCF+XN/S0vJQV1etCoIIUg0ewRxaG7S2hKFDa0cQWLrmZ9h0wxeJOagYmAzgt29Cd3GEPz+6B19JrIVUyt8s5Yp1nwIr1b6lrS2zqFzWaG0IwyrETrdm1mCiDK5UNNffeD6vfAQOGC/DG4ctad+yoD3JpZecyfGxElobhBB4Xs3TQlzdNAMW4lutDQ31tyvlfYatVZibuReGEby+Ns6xpg56muBIHsamwFjDea0hg0Gc2/+wnou+0kkYRrE8T/hCLL5/luKVd3V0pAgCMwM9YbOZpbhqc9TOaU+TacpwJA+5MmRLUNECKQTWwa5DIV+7ZDFaW6y1086KNUJc26aE2Fjf3HzB6khFtR4/mb3MKp2oPzlZ4YI1Z+BJOJSNkqkYQEoJWjKCTELQ3egY7mhCeQ7rBFJKhBAdxsQWK8i0JRKqrVTShKHBGIsQAmvFNMRirUPKyJxqPReLU6y7bAkvHIFCCaY0VDQ431GowGjRklGQzsRRysM6gRCRW84lv6Q8z7Ukk7G6rq45dHa20dxSQ7lcZLJQBAylkiGbLTI4mOPYsQJBoAlDx6Xf7Oa9YpLcVJTJzoGxUNEO66AhKWhKCQaUh5AO6aC5uZalSxfy1ls7VqiGhob2q69ZT+f8NhxgNFgHYWiYmMiRz0/Q2RmwfLlAGyhOQmmqwnVbFvDz3dCWjqCehMnAsnwuOAtTgSNfcShPsWHDapadt4iWlgxCQF/fgfnK81R6POejlEMIiMUgngCBpKamiZqaJnBgnQCiuW+uh4cPwsJGyJVASZAC0sqSm3Jk4oLuJok2lphXQ1fXcsbGIDvmSCQFyk/FVLlctCOjjlCDMWAtSAnFoiafD2htlXR1xWho8NBaUCg45vWAHhDkK5BQkPRhZNJyZr2lMSnI+I6pwJELJYfeLbFtW8jcuTFaW+Mkk4LipDUqXxgef/75UdrbPVJJD2vhyJGAsbEQIRzGgBDQ0eGzdFmKKy5L8L5VaAM1CaiJQb7iaEkaLICDc+cIRoqOeS0ev/7rJKOjlrGxEnv3ShobfbLZsZxydjQ/VSyV+/eVE8ZEpSJEVN3GVNddOHgwZHxsgs03J3ihD85pjaDjJYfnNDhHRwYakhZtJelaj9f/MsXefkNdncDzBJ7nGB+folI5uk/C0LEwPDxm7cz7G2tBz7J++lfuvr+BP+5XrJoPc1JwfMowNxUSaMf8Ouiqh9aUYP8EZHeG/Oa+Ao2NklhMoBT4vkCIMsbs2ynh4LDWO/ZqrQjDE8DqAiZEVLe/uKOW7JIUF3ZCTDr6syHtKU1MwefaHJ9vjyxPpBVhr+aWn06QTkfAKlQpQRAcL4Rhb58Cis49+bjWa9cI0Q2YGeWeF4E3b0yQXVWLNwHl0JBAs6zZ0TNH4gnBRNmxb0Jy8Rket/wwxzv/CvH96P/VrZKUkEym6O19bS/s2SdBBdD/Ojz7NgTRkiWjstLa8dXVPuff0MRwHlriAZd2ay4/R9DVKklmPLJlwceHBMdfnGLVWcO89XZIIgG+D0qdUByPK4aGPiAI7nsQyCrnQiOEGIYnHoIvL1FqRcbzDMYIrrkyyZIf1fPAu5a71zgyKY/GGokKHUd3B2x9osj774eUy9F01DVIpBR4XjT4qmIhIAwnGRp64CkY2Q6iVN1zTcLQm849+CTM/R7uNH7w/RinX1XPrlHBHZ1lPtoW8vGAYXevZk+fJtSO2lpBMjkbJGaA1QFE2Szp739hfxA88RioI86FRkUvfmelFAPO/f1PzoTxJ599fNPvsvVcWCd4b2uW6/5RwY9FgZSC2jqQUk4H/iQwgs5WvGvXM4Vc7qZ7Ifw3MHXSLtPmP/B2D8bPPiAWrN92KMZVHSP2kWuF3NmrSWciu2YrqSbMbOjs70p5BEGJvr5nD+dy1/8SeBXEMeesm7URCK9/ZeTs/9zVu/DhpB+r7e7b+vKWjWsefXX7M/lMRqGUmk6UE8milMD3Bb7PdHviXjKZ5NixfnbsuPW148d/cifwEnDYOTtTMmIoW3r6b32xDUE+m7sg+cH+b6xb+1R+KtgzbcliuPzy5uYrl9XXL6qJx2vwfTU9byerj9baEpXKWHjgwMtHc7nfPweHXga5E+ywc86ctKNdu/brGyT2C3s//HCk/+DAh8A+IcRR55wGWiJ4zXIpz+rx/VVLE4me01OpORnP86UQTGfseKVY7B+uVHr3Vipv7oIju4DdwCGg4D7juCKAeUAdkJu+yrMfFEIkpgfQCbQDjdHzIl49E4DNAxPACDAADE0Dzf86O/0XUanOOtP64R0AAAAASUVORK5CYII='},
  59.     qupzilla: {width: 29, height: 30, data: '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'},
  60.     midori: {width: 26, height: 30, data: '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'},
  61.     palemoon: {width: 30, height: 30, data: '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'},
  62.     leechcraft: {width: 30, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAErUlEQVRIx7WXv28cVRDHPzNvzxDbCQEJEBIFSpMUhI4eUAQU/ANpIR1FCtpEgKBBIMSPllAgGjokKlyAqSgjQYEEClQIEgV8xPbZd/dmhuLt2907X4KIYO3V7r67e9+Z78x8Z1Yigt3d3SdE5FkRUSD4fw6JCHf3L0+cOPG9jMfjsznn72azWflU5H9BjSj+rK2t0TTN2cbMnptMJogIe3t77O/vLxlwNwRIB1YBNzc32dzcZDKZsLGx8Xzj7uLuTCYTrlz5mO2vt1FVVBURuSsGKqC74+Z4OE8/8xQXLlxgfX0dd5fG3YkIJpMJ32xvc/336zRNc0fg4Ur8A3DOGTNj+6ttzp8/z7Fjx3B3GnfH3RERUmpIKaGqpJRY6ezSohSkI6bVpZQSEYFqAqDiNcM4JE09zfovaF71vQg0FHcve6ayX8VTM+s8rmD/VWYP9xIpDrk7ZtZTDaBLgBGxwghheSWWoh1L1FcDuoSrMa4Aotr/MNqSaq9CtV7qfwslEEEQ/RXw8AUDKvhCjKvHNVleeRwahZvT4JNrTQkBwxAUr0eSefn0DG/Bj8YZ5g5vXY0jXjdm1llWtg9eeiwYJeHaXvDpL4qoohVYWliBe8V48RSrQVvmcg7evtoL0gLV7g4CqoKIYlPQFOQpi2KCgBRvRQRc4TCwEFIbBaJeAwlQoxgu2gGbWfHY3REE1VQSbOagArNAJZFEQNoSg3IvoCFw6KTIfHDN+PzGGuZGeGHRzch5zl97wcmD/cUYV+DeM4WpgwbMigBoUgTtki1bxnImT/fg1hiAG7cSv9l9uBvhjnlglsl5hOqMpHqU6hpjVS00TQNS8ViSopKw1noz7zRDIuAwyoMFSRIoBALiRCRUvOzRhisieqrNrNXnhKIwAzQYzZ3R/pj5vLTMkQijNrEO0joj0WIk8CDOw3lclIlWq3FMjZ9JC5LZAdc6TlI9dtSmnMpTvn1kZRvgyV8TiMJhWbl4f3Dxgb3FWoqAbDz602Zhcwg8VC5RIefM6M8xJQnljnIIdB7fpp4w6+XySB3XY3J4wP7BhPduwqjWx0Ayh2ZkbQD48I+0ukVGECHMTVrgnuqIKMBDMR+N7uGj0UmaNCptsrZITaQ26wVho431Z/FQG1PH3AkvOWNmZMvMZU7yKTqQTKBQXUG1isSCCzL4K8DaggOEBB5eNL1TD+n5iUL1ULmAvh93WjoQTxEpIG2MtPbrwUYRgYTgCEHgEYgEIl5UbtAWh51rMAgUa0uXWZ4xBKWoVY3XEDgcRBxF8dIyBokdfd23VIsI2nenAhBeNnKPLnbRVkahs5zaUV7HH7rvldMJD/AKLovJtdgWo0yFbngobkUERAyTSn0Q0o8DERAeuAfmVn7rhlmJvYV1TWjocVfH4/GYy69e4o3X36RpRqjKIKaCSupjLdoPDV7G1+KJ42F42yCs3dvynMuvXWJnZ6cCSwNY+xrD8ePHeff9d1YMN7cbcpbrW1a/QQiMd8bs7u52MiBbW1tnIuKHKiTLM9bwedX9cLy53f3wuYzNckYigq2trdMppRe0HKw6RYSmaUqc27VhmyvTRl4Y6JbP9qXti3Pnzv34N0FCfNbcVU4DAAAAAElFTkSuQmCC'},
  63.     kmeleon: {width: 30, height: 30, data: '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'},
  64.     lynx: {width: 31, height: 30, data: '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'},   
  65.     links: {width: 29, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAYAAADQBxWhAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAACR0lEQVRIx92WPYgTURDHf5OsmksgBxYJpD2wMc2JkCZWdlpaC/Za2EWxuc7GQg+tBMHSKoQzdrFQAn5g4zWp7rirIigXFr2NXPaNRV6+ljVmX85DHBiW9+a9/c/838wwYkBJLq9E9ap0pYnHFSTZZY9lZBU4AycLqjjxNAYVF9AjG6kLqADPgLtAdsqwagMR4BDoTwW2i93IOXhsQA1oH/QAtGe/ryfkKaD3QL9aew+aqgo+TQYoYTId03va6kjOR5y7BpyNepx2S4XUvByZt15GUoselEU8O27QfydS+R8jPU7x+jGMKXAQ2f8CBBO7lwX4iefUBvfhaRyVTcgA10d7T+BFCfwMyBF8LgN84yUe+4nZV9XfqiC2I4kC2Wlb7c5jb97deeqJ6Md4d3a9SQAKPH8von2bB29Vb95W1YfApWE3TdbwL8abTkXW2XLkiQHOARf+Yvam4ypIkzyjA2joXCKDwYC9vT2CIEgK6tZ+RIR2u029Xh9HeyLNYXt7m16vRy6XSwrq1gh936fVapHP55dOpIVlZ2eHRqNBJpP5E2jc+w0SvaOI0O12WV9fnzeCTgN9An5Ejn4ALo+GFmN/HtsUOp0Ovu9TqVQQEVR1ht4p0HfAGzve3ZqaC0fyAOgAFeBwTeT+jVqttlYoFGbqMAgCNjY2CMNwvF8ul6lWq3GgoR00j4BHdp2OUB5Ymr8Pb4ThuJ+OZGVlhc3NTdLp4V1jDKVSiWKxODOE6lA1iW5ZsC1NIMYYNcao51gSKRBU1anOfwGhO3zrXzBr5AAAAABJRU5ErkJggg=='},
  66.     sputnik: {width: 27, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABsAAAAeCAYAAADdGWXmAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC9klEQVRIx63WX4hVVRTH8c89cyuzP4NZoKSWNT4E5WRSEAYZEaQ+5CkiIkmogxRDEL2GEf3BKIQosAdPBdEfguT0B/rzENFDFgnVZDAwhkoglDk9Bebk7NNDa+I2c++dO+NdsLmcs+9e3332WnutX6Oua90sy8sGzsYtuA3X4XIM4jRO4BC+xiepKkY7+Wp0ggVkEI9iBBfrzX7AC7L0Ttq3o54TluVlE3fiFVxkYXYAD6Sq+Ok/v7NBry7CS3j3DEBwPb7J8nJbW9i/R1c/jPtwEqciLmmBwPPwepaXI/87xoiRVBV1PK/BuhjrcTUuwMCM0YudwrZW2NpYfBR/x5ichsd/VrVsYB3WxlGfhXPahSXsJL5s1HUty8tBjGE5JvE9RiOzfozUnkhVMdUmmVbgdjyIYZzbMl3H1Xg5VcXT07DH8UyXY/gZW1JVjM9xJ3fgOSzBXziIkVQVB6DR2Lp3EY5gWQcfv2BjqoojvQQny8uNeAvv4bHW02g0tu7dhI87rJ3EPakq3p9PCmZ5eWmqimOz3mNzhzU1RucLiow+1nYTuLFTKcOb+mjNuLCH28xN4at+w/Iu87/2G9bscBnreD/VT9gbHQpuwva42H2DXRh1r53d3E9Yhv1dUv+u6QLdL9inXVL/Jmyat9O8HM7ycnE72Bf4rQvwxSwvh3uBDORlI8vLzXgbj2R5edksWZDl5VPY2aVkfRgF9XiXr1mJW7Grpc5+gN3Yn6piqhkv9+D+yMoTmIhxPNrLUZwfz9POl2JpCKHV2IJ7Z+zhDtyAZ7O8/Ki1ed4dEm08xqFUFadjbjFWxo4vwQoM4cr4HerhlJ+fpa6yvFwSTpdFM10VOx/CFbGh+dof2NlsoxXX48lwvLwPGT+BXakq9mQzWkMd8mAsBOqZ2hieSFWxu5tIHcBDEfANC4D8GQ35tVQVn80pvwN6bXSFDSFm5pLgh/EdPse+VBW/96T1Z0CvilheE/JtddTUqYjJeNTQg/g2VUXbIvEPUMUDc/qacIsAAAAASUVORK5CYII='},
  67.     amigo: {width: 32, height: 30, data: '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'},
  68.     brave: {width: 25, height: 30, data: 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFAUlEQVRIx5WWW2xUZRDHf3POdpd2C2uh9EYRuVURSaPwRDAhQKokIhQjYKvEB4WACvKGIUHASB8wlItCJLxAuEgCrAIPgFaRikpSKkUuLQ232kKhsL2y3Z7dc8aHLZTttrRM8j2c75v//L8zM9/MiKrSmwSPjVsoRmQTqAcQwNVNJQJiqeNanvTWlV292ZHeSJr25s0xTesAiJs+RS3bdhc8V3jyUJ8kzbve9hFiPGgmhu4Gkui/tOPIxyD1eCj3fXikMY6ksWjWQMMj1SKkg0BvXhSefoaiygPH0jEpK482ARgAzatm+sSyz2ibne602jgtYSQpC+xEnFYLp6kdHC/G4BzMEZMxUnLA8eI0teO0hsFORJKG4bRYOK022mYPkQ77j+ZVM308Echksz0yFAW12vFMfx/31Hk4zfdxWhrA6sBIH4E5JBsS3BC2sB/U4ty7hSQkIr5UjEGpWKcO0FGyB3EngjDEMU0v0OwCcDW3jkMkGVXMkeNxTytAkgZiJqdgDhsb75YEN2bGKMyMUTHb7mkFaNU/2DcugkiyoToeuC3BjyZ5BD0AzMbtwb1iG8aYXPReHVp3FbUjGNljkcEZ4B7QZdEKoYF6nNpqMEyM4TnI0GycaxVYGz8BKwRwRJF55upXvFPFDq8n2IRrzlLMybOiSXn3Fk5VGc5v+7F//A5qLiM5E5HEgWigHnvnSiL7itC6a4jXh6SkISnpyOAMJNKBlp3AEH3RsDtKsRZkVVrzM9VaNEF7lNBDdWoqNbx2rjq11aqq6tRVa3jdO+r8V6kaetgjzFqcq9b8DLUWZF11iR1oFMeBDoGIBa5ub8+ThAzPwcwrRJIHRTPVOwhzRgEyLAdE4mMW7sAI3YNIADWM+4Zph46aamEGbqNrZ0LT3XiQHUGul4MvLfrtS0NunAMnEq/bWI+ueRMzcAdTLUw7dMxAOa4K6gL+/RVdnw9tgVjghRI00BBbSAIPoOKXWL3WQBR/6RTqAlVAOS46h1TgApD5qOSR/RIUl8EAbxR85xosGQ+mQNpIaKiBSAS2X4TMMVGdUBusmAS1VU+W0XpgggEEgfLH2y7gZiVsXdx1w8zRsOkspD0PdVcgNQuKz3YRAHy7BG5Wda/T54CggV+DKOVoZ01SwAamFca64oVcKCoFlweKTsPI3Njz6R9EcRqzyvFr0OhUqUAIIZ1FzgAmzowP6um9EOmA3/fFn72aB2YnPrpCQMXjAolwHmiJAZ3c8URzuQuHvwF/MUyYCj9tgkMboLG+S+fnnd2rcwsSJenqJ/lyHujyQUISFKyFYBvcroYRE+D1dyFjNNy9DqUHoeYSpI8A7yDY9yWEgzE5iV9zY0nmylbg09hHBcxeDoVfQWLyo4bRJaE2+GFd9K8S4hy4ncO6tMtd0V5zqFvQoplyZAv8eRAcJ9aEY8Pp/XBwQ1RP49ah+PabL9L5SoweGiu8sRAWb4EkHwSb4ftlcGI3JPbc9IEE/GrHDxL5cgLI6xHmAC9PgUVbYccyuFza03UeSQl+ndHztJIvk4EzvQ8lgAW448PTTabg18d2ut/lb2Bjr1ABPH0SFAN/PX3uypcBQCGwGfA+w0gUBJYDe/BrqF/DHfkyFNgHzOgHQQnwHn5teKYJ8gmyL4DPgbQeThuAzfj166eZ6JskSvQaUNQt80qAlfi1rC94/0iiRF5gDfAZsA1YjV/b+gP9H6FMUAEQA92hAAAAAElFTkSuQmCC'}
  69. };
  70.  
  71. function removeNode(node) { node.parentNode.removeChild(node); }
  72. function replaceNode(replacement, node) { node.parentNode.replaceChild(replacement, node); }
  73.  
  74.  
  75.  
  76.  
  77.  
  78. function escapeString(str) { return JSON.stringify(str).slice(1, -1); }
  79.  
  80. const Objects = {
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.     merge: function(dst, src) {
  89.         for (var i in src) {
  90.  
  91.             if (src[i] && typeof(src[i]) === 'object') {
  92.                 if (!dst[i]) dst[i] = {};
  93.                 Objects.merge(dst[i], src[i]);
  94.             } else {
  95.                 dst[i] = src[i];
  96.             }
  97.         }
  98.     },
  99.     clear: function(obj) {
  100.         for (var i in obj) delete obj[i];
  101.     },
  102.     copy: function(dst, src) {
  103.  
  104.         Objects.clear(dst);
  105.         Objects.merge(dst, src);
  106.     },
  107.     clone: function(obj) {
  108.         if (obj) {
  109.             var clone = {};
  110.             Objects.merge(clone, obj);
  111.         } else {
  112.             var clone = null;
  113.         }
  114.         return clone;
  115.     }
  116. };
  117.  
  118. const PresetNormal = {
  119.             'Microsoft Windows 10': {desc: 'Windows 10', icon: Icons.win10},
  120.             'Microsoft Windows 8': {desc: 'Windows 8', icon: Icons.win8},
  121.             'Microsoft Windows 7': {desc: 'Windows 7', icon: Icons.win7},
  122.             'Microsoft Windows Vista': {desc: 'Windows Vista', icon: Icons.win7},
  123.             'Microsoft Windows Server 2003': {desc: 'Windows Server 2003', icon: Icons.winxp},
  124.             'Microsoft Windows XP': {desc: 'Windows XP', icon: Icons.winxp},
  125.             'Microsoft Windows 2000': {desc: 'Windows 2000', icon: Icons.win95},
  126.             'Microsoft Windows 98': {desc: 'Windows 98', icon: Icons.win95},
  127.             'Microsoft Windows 95': {desc: 'Windows 95', icon: Icons.win95},
  128.             'Microsoft Windows Phone': {desc: 'Windows Phone', icon: Icons.winphone},
  129.  
  130.             'Linux': {desc: 'Linux', icon: Icons.linux},
  131.             'Debian Linux': {desc: 'Debian Linux', icon: Icons.debian},
  132.             'Ubuntu Linux': {desc: 'Ubuntu Linux', icon: Icons.ubuntu},
  133.             'Fedora Linux': {desc: 'Fedora Linux', icon: Icons.fedora},
  134.             'Arch Linux': {desc: 'Arch Linux', icon: Icons.arch},
  135.             'CentOS Linux': {desc: 'CentOS Linux', icon: Icons.centos},
  136.             'openSUSE': {desc: 'openSUSE Linux', icon: Icons.opensuse},
  137.  
  138.             'Apple Mac': {desc: 'Mac', icon: Icons.apple},
  139.             'Apple GayPad': {desc: 'iPad', icon: Icons.apple},
  140.             'Apple GayPhone': {desc: 'iPhone', icon: Icons.apple},
  141.             'Google Android': {desc: 'Android', icon: Icons.android},
  142.             'BSD': {desc: 'BSD', icon: Icons.bsd},
  143.             'Oracle Sun': {desc: 'Solaris', icon: Icons.solaris},
  144.             'Haiku': {desc: 'Haiku', icon: Icons.haiku},
  145.             'OS/2': {desc: 'OS/2', icon: Icons.os2},
  146.             'Неизвестно': {desc: 'Неизвестно', icon: Icons.anonymous},
  147.        
  148.             'Chromium based': {desc: 'Chrome', icon: Icons.chrome},
  149.             'Firefox based': {desc: 'Firefox', icon: Icons.firefox},
  150.             'Iceweasel': {desc: 'Iceweasel', icon: Icons.iceweasel},
  151.             'New Opera': {desc: 'Opera Blink', icon: Icons.operaNew},
  152.             'Old Opera': {desc: 'Opera Presto', icon: Icons.operaOld},
  153.             'Vivaldi': {desc: 'Vivaldi', icon: Icons.vivaldi},
  154.             'Safari': {desc: 'Safari', icon: Icons.safari},
  155.             'Mobile Safari': {desc: 'Mobile Safari', icon: Icons.safari},
  156.             'Microsoft Edge': {desc: 'Edge', icon: Icons.edge},
  157.             'Internet Explorer': {desc: 'Internet Explorer', icon: Icons.ie},
  158.             'UCBrowser': {desc: 'UC Browser', icon: Icons.ucbrowser},
  159.             'UC Browser': {desc: 'UC Browser', icon: Icons.ucbrowser},
  160.             'Яндекс браузер': {desc: 'Яндекс.Браузер', icon: Icons.yabrowser},
  161.             'Web+': {desc: 'WebPositive', icon: Icons.webPositive},
  162.             'Epiphany': {desc: 'Epiphany', icon: Icons.epiphany},
  163.             'konqueror': {desc: 'Konqueror', icon: Icons.konqueror},
  164.             'SeaMonkey': {desc: 'SeaMonkey', icon: Icons.seamonkey},
  165.             'Palemoon': {desc: 'Pale Moon', icon: Icons.palemoon},
  166.             'QupZilla': {desc: 'QupZilla', icon: Icons.qupzilla},
  167.             'Midori': {desc: 'Midori', icon: Icons.midori},
  168.             'K-Meleon': {desc: 'K-Meleon', icon: Icons.kmeleon},
  169.             'Leechcraft': {desc: 'LeechCraft', icon: Icons.leechcraft},
  170.             'Lynx': {desc: 'Lynx', icon: Icons.lynx},
  171.             'Links': {desc: 'Links', icon: Icons.links},
  172.             'ELinks': {desc: 'ELinks', icon: Icons.links},
  173.             'Спутник': {desc: 'Спутник', icon: Icons.sputnik},
  174.             'Амиго': {desc: 'Амиго', icon: Icons.amigo},
  175.             'Brave': {desc: 'Brave', icon: Icons.brave}
  176. };
  177. const PresetSosach = {
  178.             'Microsoft Windows 10': {desc: 'ПитухОС™ Дрисять', icon: Icons.win10Rooster},
  179.             'Microsoft Windows 8': {desc: 'ПитухОС™ Соснёрка', icon: Icons.win8Rooster},
  180.             'Microsoft Windows 7': {desc: 'ПитухОС™ Спермёрка', icon: Icons.win7Rooster},
  181.             'Microsoft Windows Vista': {desc: 'ПитухОС™ 6', icon: Icons.win7Rooster},
  182.             'Microsoft Windows Server 2003': {desc: 'ПитухОС™ 2003', icon: Icons.win7Rooster},
  183.             'Microsoft Windows XP': {desc: 'ПитухОС™ XP', icon: Icons.win7Rooster},
  184.             'Microsoft Windows 2000': {desc: 'ПитухОС™ 2000', icon: Icons.win95Rooster},
  185.             'Microsoft Windows 98': {desc: 'ПитухОС™ 98', icon: Icons.win95Rooster},
  186.             'Microsoft Windows 95': {desc: 'ПитухОС™ 95', icon: Icons.win95Rooster},
  187.             'Microsoft Windows Phone': {desc: 'ПитухОС™ Phone', icon: Icons.win7Rooster},
  188.            
  189.             'Linux': {desc: 'Линукс-бог', icon: Icons.linux},
  190.             'Debian Linux': {desc: 'Debian Линукс-бог', icon: Icons.debian},
  191.             'Ubuntu Linux': {desc: 'Ubuntu Линукс-бог', icon: Icons.ubuntu},
  192.             'Fedora Linux': {desc: 'Fedora Линукс-бог', icon: Icons.fedora},
  193.             'Arch Linux': {desc: 'Arch Линукс-бог', icon: Icons.arch},
  194.             'CentOS Linux': {desc: 'CentOS Линукс-бог', icon: Icons.centos},
  195.             'openSUSE': {desc: 'openSUSE Линукс-бог', icon: Icons.opensuse},
  196.  
  197.             'Apple Mac': {desc: 'Яблогей', icon: Icons.apple},
  198.             'Apple GayPad': {desc: 'Яблогей', icon: Icons.apple},
  199.             'Apple GayPhone': {desc: 'Яблогей', icon: Icons.apple},
  200.             'Google Android': {desc: 'Ведро', icon: Icons.android},
  201.             'BSD': {desc: 'Бздун', icon: Icons.bsd},
  202.             'Oracle Sun': {desc: 'Солярка', icon: Icons.solaris},
  203.             'Haiku': {desc: 'Haiku', icon: Icons.haiku},
  204.             'OS/2': {desc: 'Полуось', icon: Icons.os2},
  205.             'Неизвестно': {desc: 'Ананимас', icon: Icons.trollface},
  206.        
  207.             'Chromium based': {desc: 'Хромопараша', icon: Icons.chromeToilet},
  208.             'Firefox based': {desc: 'Лисобог', icon: Icons.firefox},
  209.             'Iceweasel': {desc: 'Лисобог', icon: Icons.iceweasel},
  210.             'New Opera': {desc: 'Хропераст', icon: Icons.operaNew},
  211.             'Old Opera': {desc: 'Утёнок', icon: Icons.operaOld},
  212.             'Vivaldi': {desc: 'Vivaldi', icon: Icons.vivaldi},
  213.             'Safari': {desc: 'Safari', icon: Icons.safari},
  214.             'Mobile Safari': {desc: 'Mobile Safari', icon: Icons.safari},
  215.             'Microsoft Edge': {desc: 'Осёл', icon: Icons.edge},
  216.             'Internet Explorer': {desc: 'Осёл', icon: Icons.ie},
  217.             'UCBrowser': {desc: 'Нода ботнета', icon: Icons.ucbrowser},
  218.             'UC Browser': {desc: 'Нода ботнета', icon: Icons.ucbrowser},
  219.             'Яндекс браузер': {desc: 'Пидорахен', icon: Icons.vatnique},
  220.             'Web+': {desc: 'WebPositive', icon: Icons.webPositive},
  221.             'Epiphany': {desc: 'Epiphany', icon: Icons.epiphany},
  222.             'konqueror': {desc: 'Konqueror', icon: Icons.konqueror},
  223.             'SeaMonkey': {desc: 'SeaMonkey', icon: Icons.seamonkey},
  224.             'Palemoon': {desc: 'Pale Moon', icon: Icons.palemoon},
  225.             'QupZilla': {desc: 'QupZilla', icon: Icons.qupzilla},
  226.             'Midori': {desc: 'Midori', icon: Icons.midori},
  227.             'K-Meleon': {desc: 'K-Meleon', icon: Icons.kmeleon},
  228.             'Leechcraft': {desc: 'LeechCraft', icon: Icons.leechcraft},
  229.             'Lynx': {desc: 'Lynx', icon: Icons.lynx},
  230.             'Links': {desc: 'Links', icon: Icons.links},
  231.             'ELinks': {desc: 'ELinks', icon: Icons.links},
  232.             'Спутник': {desc: 'Спутник', icon: Icons.sputnik},
  233.             'Амиго': {desc: 'Амиго', icon: Icons.amigo},
  234.             'Brave': {desc: 'Brave', icon: Icons.brave}
  235. };
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247. function Preset(template) {
  248.     this.entries = Objects.clone(template);
  249.     this.template = template;
  250.     this.overlay = {};
  251.     return this;
  252. }
  253.  
  254. Preset.prototype.deserialize = function(overlay) {
  255.     if (overlay) {
  256.         Objects.merge(this.entries, overlay);
  257.         this.overlay = Objects.clone(overlay);
  258.     } else {
  259.         this.overlay = {};
  260.     }
  261. };
  262. Preset.prototype.serialize = function() {
  263.  
  264.     return this.overlay;
  265. };
  266. Preset.prototype.query = function() {
  267.     var p = this.entries;
  268.     var q = {};
  269.     for (var i in p) {
  270.  
  271.         q[i] = {desc: p[i].desc, icon: {data: p[i].icon.data, width: p[i].icon.width, height: p[i].icon.height}};
  272.     }
  273.     return q;
  274. };
  275.  
  276.  
  277. Preset.prototype.assign = function(key, obj) {
  278.     var p = this.entries[key];
  279.     var o = this.overlay;
  280.     if (obj.desc.length <= Preset.maxDescLength && p.desc !== obj.desc) {
  281.         p.desc = obj.desc;
  282.         if (!o[key]) o[key] = {};
  283.         o[key].desc = obj.desc;
  284.     }
  285.     if (obj.icon && obj.icon.data) {
  286.         p.icon = obj.icon;
  287.         if (!o[key]) o[key] = {};
  288.  
  289.         o[key].icon = obj.icon;
  290.     }
  291. };
  292. Preset.prototype.reset = function() {
  293.     Preset.call(this, this.template);
  294. };
  295. Preset.verify = function(preset) {
  296.  
  297.  
  298.     if (!preset) return 'Неверный JSON.';
  299.     for (var i in preset) {
  300.         var p = preset[i];
  301.         if (p.desc && p.desc.length > Preset.maxDescLength) {
  302.             return 'Слишком длинное описание ' + i;
  303.         }
  304.         if (p.icon) {
  305.             if (typeof(p.icon.width) !== 'number' || typeof(p.icon.height) !== 'number')
  306.                 return 'Неверные параметры иконки ' + i;
  307.            
  308.             if (p.icon.height > Preset.maxIconHeight)
  309.                 return 'Слишком высокая иконка ' + i;
  310.            
  311.             if (p.icon.data.length > Preset.maxIconSize * 1.34)
  312.                 return 'Слишком длинная иконка ' + i;
  313.            
  314.             if (/[^0-9A-Za-z=+/]/.test(p.icon.data))
  315.                 return 'Неверный Base64 иконки ' + i;
  316.         }
  317.     }
  318.     return null;
  319. };
  320. Preset.maxDescLength = 30;
  321. Preset.maxIconSize = 16384;
  322. Preset.maxIconHeight = 60;
  323.  
  324. function SimplePrefs() {
  325.     this.showDesc = 1;
  326.     this.iconHeight = 30;
  327.     this.preset = 1;
  328.     return this;
  329. }
  330. SimplePrefs.prototype.deserialize = function(prefs) {
  331.     if (prefs) Objects.merge(this, prefs);
  332. };
  333. SimplePrefs.prototype.serialize = function() {
  334.     return this;
  335. };
  336. SimplePrefs.verify = function(prefs) {
  337.     const limits = {
  338.         showDesc: 1,
  339.         iconHeight: 30,
  340.         preset: 3
  341.     };
  342.     if (!prefs) return 'Неверный JSON.';
  343.     for (var p in prefs) {
  344.         if (typeof(prefs[p]) !== 'number' || prefs[p] < 0 || prefs[p] > limits[p]) {
  345.             return 'Неверный параметр ' + p;
  346.         }
  347.     }
  348.     return null;
  349. };
  350.  
  351.  
  352.  
  353.  
  354. const Prefs = {
  355.     _version: 2,
  356.     prefs: null,
  357.     presets: {},
  358.     isUserPreset: function(presetName) { return presetName.indexOf('user') === 0; },
  359.  
  360.  
  361.     getCurrentPreset: function() { const pkeys = ['normal', 'sosach', 'user1', 'user2']; return Prefs.presets[pkeys[Prefs.prefs.preset]]; },
  362.  
  363.     _restore: function(stored) {
  364.  
  365.         Prefs.prefs = new SimplePrefs();
  366.         Prefs.presets.user1 = new Preset(PresetNormal);
  367.         Prefs.presets.user2 = new Preset(PresetSosach);
  368.         if (stored) {
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.             Prefs.prefs.deserialize(stored.prefs);
  378.             Prefs.presets.user1.deserialize(stored.presets.user1);
  379.             Prefs.presets.user2.deserialize(stored.presets.user2);
  380.         }
  381.     },
  382.     _parse: function(json) {
  383.  
  384.         if (!json) return 'Неверный JSON';
  385.         try {
  386.             var stored = JSON.parse(json);
  387.         } catch(e) {
  388.             var stored = null;
  389.         }
  390.            
  391.         if (!stored) return 'Неверный JSON';
  392.         if (stored._version !== Prefs._version) return 'Несовместимая версия';
  393.         if (!stored.presets) return 'Неверный JSON';
  394.  
  395.         var err = SimplePrefs.verify(stored.prefs) || Preset.verify(stored.presets.user1) || Preset.verify(stored.presets.user2);
  396.         if (err) return err;
  397.  
  398.         return stored;
  399.     },
  400.     import_: function(json) {
  401.         var res = Prefs._parse(json);
  402.         if (typeof(res) !== 'object')
  403.             return res;
  404.  
  405.         Prefs._restore(res);
  406.         return null;
  407.  
  408.  
  409.  
  410.  
  411.  
  412.     },
  413.     export_: function() {
  414.         return JSON.stringify({prefs: Prefs.prefs.serialize(), presets: {user1: Prefs.presets.user1.serialize(), user2:  Prefs.presets.user2.serialize()}, _version: Prefs._version});
  415.     },
  416.     store: function() {
  417.  
  418.  
  419.         try {
  420.             Prefs._set('suaf', Prefs.export_());
  421.         } catch(e) {
  422.             alert('SUAF: Storage write failed!');
  423.         }
  424.     },
  425.     _chooseStorage: function() {
  426.  
  427.  
  428.         if (GM_info) {
  429.             Prefs._get = GM_getValue;
  430.             Prefs._set = GM_setValue;
  431.         } else {
  432.  
  433.  
  434.  
  435.             Prefs._get = localStorage.getItem.bind(localStorage);
  436.             Prefs._set = localStorage.setItem.bind(localStorage);
  437.         }
  438.     },
  439.     init: function() {
  440.         Prefs.presets.normal = new Preset(PresetNormal);
  441.         Prefs.presets.sosach = new Preset(PresetSosach);
  442.        
  443.         try {
  444.             Prefs._chooseStorage();
  445.             var json = Prefs._get('suaf');
  446.         } catch (e) {
  447.  
  448.             var json = null;
  449.         }
  450.         var data = Prefs._parse(json);
  451.         Prefs._restore(typeof(data) === 'object' ? data : undefined);
  452.     }
  453. };
  454.  
  455. const Settings = {
  456.     init: function() {
  457.  
  458.         var btn = document.createElement('a');
  459.         btn.textContent = '(/s/ UA Fixer)';
  460.         btn.href = 'javascript:void(0);';
  461.         btn.id = 'suaf-show-settings';
  462.         btn.addEventListener('click', Settings._MainUI.draw, false);
  463.         document.getElementById('settings').parentNode.appendChild(btn);
  464.     },
  465.     _MainUI: {
  466.         draw: function(event) {
  467.             if (document.getElementById('suaf-settings')) {
  468.  
  469.  
  470.  
  471.                     Settings._MainUI._prefsToSelections();
  472.  
  473.                 return;
  474.             }
  475.  
  476.             if (!Settings._css) {
  477.  
  478.  
  479.  
  480.                 Settings._css = document.createElement('style');
  481.                 Settings._css.type = 'text/css';
  482.                 Settings._css.textContent = '.suaf-setting-row {margin-left: 5px; margin-right: 5px; margin-top: 5px;}\
  483.                     #suaf-settings tr > td:first-of-type {padding-left: 5px; padding-right: 5px;}\
  484.                     #suaf-settings td {vertical-align: middle;}\
  485.                     #suaf-settings select {width: 100%;}\
  486.                     #suaf-settings .ua-desc {width: 100%;}\
  487.                     .suaf-dialog {top:50%; left: 50%; transform: translate(-50%, -50%); position: fixed; transform-style: preserve-3d;}\
  488.                     .suaf-dialog * {transform-style: preserve-3d;}\
  489.                     .suaf-shadow {position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7);}\
  490.                     #suaf-preset-controls {overflow-y: auto;}\
  491.                     #suaf-preset-controls img {border-radius: unset}\
  492.                     #suaf-preset-controls tr > td:first-of-type, #suaf-preset-controls tr > td:last-of-type {white-space: nowrap; width: 1%;}\
  493.                     #suaf-settings-dialog {display: flex; flex-direction: column; max-height: 100%; width: 600px;}\
  494.                     #suaf-settings-dialog > :not(#suaf-preset-controls) {flex-shrink: 0;}\
  495.                     ';
  496.                 document.documentElement.appendChild(Settings._css);
  497.             }
  498.            
  499.             var ui = document.createElement('div');
  500.             ui.id = 'suaf-settings';
  501.             ui.innerHTML = '<div id="suaf-settings-dialog" class="suaf-dialog qr qr-settings">\
  502.                     <div class="qr-header">/s/ User Agent Fixer v' + suafVersion + ' <a href="' + suafWebsite + '">(сайт)</a></div>\
  503.                     <div class="suaf-setting-row">\
  504.                     <table style="width: 100%"><tbody>\
  505.                         <tr>\
  506.                             <td>Пресет:</td>\
  507.                             <td>\
  508.                                 <select id="suaf-presets" class="settings-setting-multibox mselect">\
  509.                                     <option pref="preset" preset="normal" value="0">Казуальный</option>\
  510.                                     <option pref="preset" preset="sosach" value="1">Сосач</option>\
  511.                                     <option pref="preset" preset="user1" value="2">Пользовательский 1</option>\
  512.                                     <option pref="preset" preset="user2" value="3">Пользовательский 2</option>\
  513.                                 </select>\
  514.                             </td>\
  515.                         </tr>\
  516.                         <tr>\
  517.                             <td>Показывать надписи:</td>\
  518.                             <td><select class="settings-setting-multibox mselect">\
  519.                                 <option pref="showDesc" value="0">Нет</option>\
  520.                                 <option pref="showDesc" value="1">Да</option>\
  521.                             </select></td>\
  522.                         </tr>\
  523.                         <tr>\
  524.                             <td>Высота иконок:</td>\
  525.                             <td><select class="settings-setting-multibox mselect">\
  526.                                 <option pref="iconHeight" value="0">Оригинальная</option>\
  527.                                 <option pref="iconHeight" value="15">15 px</option>\
  528.                                 <option pref="iconHeight" value="20">20 px</option>\
  529.                                 <option pref="iconHeight" value="30">30 px</option>\
  530.                             </select></td>\
  531.                         </tr>\
  532.                         <tr></tr>\
  533.                     </tbody></table>\
  534.                     </div>\
  535.                     <div id="suaf-preset-controls" class="suaf-setting-row">\
  536.                     <table><tbody></tbody></table>\
  537.                     </div>\
  538.                     <div class="setting-buttons">\
  539.                         <input id="suaf-settings-save" value="Сохранить" type="button" />\
  540.                         <input id="suaf-settings-apply" value="Применить" type="button" />\
  541.                         <input id="suaf-settings-import-export" value="Импорт / Экспорт" type="button" />\
  542.                         <input id="suaf-settings-reset" value="Сброс" type="button" />\
  543.                         <input id="suaf-settings-quit" value="Закрыть" type="button" />\
  544.                     </div>\
  545.                 </div>';
  546.             document.body.appendChild(ui);
  547.             Settings._MainUI._prefsToSelections();
  548.            
  549.             var btns = ui.querySelectorAll('.setting-buttons > input');
  550.             for (var i = 0; i < btns.length; i++) {
  551.                 btns[i].addEventListener('click', Settings._MainUI._buttonClicked, false);
  552.             }
  553.             ui.querySelector('#suaf-presets').addEventListener('change', Settings._PresetUI.draw, false);
  554.             ui.querySelector('.qr-header').addEventListener('dblclick', Settings._iconPanoramaUI, false);
  555.         },
  556.         close: function() {
  557.             removeNode(document.getElementById('suaf-settings'));
  558.         },
  559.         getSelectedPreset: function() {
  560.             return document.querySelector('#suaf-settings :checked[preset]').getAttribute('preset');
  561.         },
  562.         _prefsToSelections: function() {
  563.             var sel = document.querySelectorAll('#suaf-settings [pref]');
  564.             for (var i = 0; i < sel.length; i++) {
  565.                 if (parseInt(sel[i].value, 10) === Prefs.prefs[sel[i].getAttribute('pref')]) {
  566.                     sel[i].selected = sel[i].checked = true;
  567.                 }
  568.             }
  569.            
  570.             Settings._PresetUI.draw();
  571.         },
  572.         _selectionsToPrefs: function() {
  573.             var sel = document.querySelectorAll('#suaf-settings :checked[pref]');
  574.             for (var i = 0; i < sel.length; i++) {
  575.                 Prefs.prefs[sel[i].getAttribute('pref')] = parseInt(sel[i].value, 10);
  576.             }
  577.            
  578.             Settings._PresetUI.save();
  579.         },
  580.         _buttonClicked: function(event) {
  581.             if (event.target.id === 'suaf-settings-apply') {
  582.                 Settings._MainUI._selectionsToPrefs();
  583.                 UAFixer.draw();
  584.             } else if (event.target.id === 'suaf-settings-save') {
  585.                 Settings._MainUI._selectionsToPrefs();
  586.                 UAFixer.draw();
  587.                 Prefs.store();
  588.                 Settings._MainUI.close();
  589.             } else if (event.target.id === 'suaf-settings-quit') {
  590.                 Settings._MainUI.close();
  591.             } else if (event.target.id === 'suaf-settings-reset') {
  592.                 Prefs.presets[Settings._MainUI.getSelectedPreset()].reset();
  593.                 Settings._PresetUI.draw();
  594.             } else if (event.target.id === 'suaf-settings-import-export') {
  595.                 Settings._importExportUI();
  596.             }
  597.         }
  598.     },
  599.     _PresetUI: {
  600.         save: function() {
  601.  
  602.  
  603.  
  604.  
  605.  
  606.             var selectedPreset = Prefs.presets[Settings._MainUI.getSelectedPreset()];
  607.             var uas = document.querySelectorAll('#suaf-settings #suaf-preset-controls tr.ua-row');
  608.             for (var i = 0; i < uas.length; i++) {
  609.                 var str = uas[i].getElementsByClassName('ua-str')[0].textContent;
  610.                 var desc = uas[i].getElementsByClassName('ua-desc')[0].value;
  611.                 var icon = uas[i].getElementsByClassName('ua-icon')[0];
  612.                 selectedPreset.assign(str, {desc: desc, icon: {data: icon.getAttribute('ua-icon-data'),  width: icon.width, height: icon.height}});
  613.  
  614.  
  615.             }
  616.         },
  617.         _selectIcon: function(event) {
  618.             if (event.type === 'click') {
  619.                 var fileInput = event.currentTarget.parentNode.getElementsByClassName('ua-file')[0];
  620.                 fileInput.addEventListener('change', Settings._PresetUI._selectIcon, false);
  621.                 fileInput.click();
  622.             } else if (event.type === 'change') {
  623.                 var file = event.currentTarget.files[0];
  624.                 if (file.size > Preset.maxIconSize) {
  625.                     alert('Иконка должна быть не больше ' + Preset.maxIconSize/1024 + ' КБ.');
  626.                     return;
  627.                 }
  628.            
  629.  
  630.  
  631.                 var img = event.currentTarget.parentNode.getElementsByClassName('ua-icon')[0];
  632.                 var reader = new FileReader();
  633.                 reader.onloadend = function() {
  634.                     reader.onloadend = null;
  635.                     var base64 = btoa(reader.result);
  636.                     var oldSrc = img.src;
  637.  
  638.                     img.onload = function() {
  639.  
  640.                         img.onload = null;
  641.                         if (img.height > Preset.maxIconHeight) {
  642.                             img.src = oldSrc;
  643.                             alert('Иконка должна быть не больше ' + Preset.maxIconHeight + ' пикселей в высоту.');
  644.                             return;
  645.                         }
  646.  
  647.  
  648.  
  649.  
  650.                         img.setAttribute('ua-icon-data', base64);
  651.                     };
  652.                     img.src = 'data:image/*;base64,' + base64;
  653.                 };
  654.                 reader.readAsBinaryString(file);
  655.             }
  656.         },
  657.         draw: function() {
  658.             var selectedPreset = Settings._MainUI.getSelectedPreset();
  659.             var isUserPreset = Prefs.isUserPreset(selectedPreset);
  660.             var uas = Prefs.presets[selectedPreset].query();
  661.             var tbody = document.createElement('tbody');
  662.  
  663.             for (var i in uas) {
  664.  
  665.  
  666.  
  667.                 var tr = document.createElement('tr');
  668.                 tr.className = 'ua-row';
  669.                 tr.innerHTML = '<td class="ua-str"></td><td><input ' + (isUserPreset ? '' : 'disabled="1"') +  ' class="ua-desc" type="text" maxlength="' + Preset.maxDescLength + '" /></td><td style="text-align: center"><div><img class="ua-icon" /></div><input class="ua-file" style="display: none" type="file" accept=".png,.gif" /></td>';
  670.                 var els = tr.querySelectorAll('.ua-str, .ua-desc, .ua-icon');
  671.                 els[0].textContent = i;
  672.                 els[1].value = uas[i].desc;
  673.  
  674.                 els[2].src = 'data:image/*;base64,' + uas[i].icon.data;
  675.                 if (isUserPreset) {
  676.                     els[2].parentNode.style.cursor = 'pointer';
  677.                     els[2].parentNode.addEventListener('click', Settings._PresetUI._selectIcon, false);
  678.                 }
  679.                 tbody.appendChild(tr);
  680.             }
  681.  
  682.             tbody.appendChild(document.createElement('tr'));
  683.             replaceNode(tbody, document.querySelector('#suaf-settings #suaf-preset-controls table tbody'));
  684.         }
  685.     },
  686.     _importExportUI: function() {
  687.         function promptButtons(event) {
  688.             var textarea = document.querySelector('#suaf-prompt textarea');
  689.            
  690.             if (event.target.id === 'suaf-prompt-export') {
  691.                 textarea.value = Prefs.export_();
  692.             } else if (event.target.id === 'suaf-prompt-import') {
  693.                 var err = Prefs.import_(textarea.value);
  694.                 if (!err) {
  695.  
  696.                     alert('Импорт успешно завершен.');
  697.                     removeNode(document.getElementById('suaf-prompt'));
  698.                     Settings._MainUI.draw();
  699.                     UAFixer.draw();
  700.                 } else {
  701.                     alert('Ошибка импорта. ' + err);
  702.                     textarea.value = '';
  703.                 }
  704.             } else if (event.target.id === 'suaf-prompt-close') {
  705.                 removeNode(document.getElementById('suaf-prompt'));
  706.             }
  707.         }
  708.        
  709.         var ui = document.createElement('div');
  710.         ui.id = 'suaf-prompt';
  711.         ui.className = 'suaf-shadow';
  712.         ui.style.zIndex = 1000;
  713.         ui.innerHTML = '<div class="suaf-dialog qr qr-settings">\
  714.         <textarea style="width: 100%; height: 10em;"></textarea>\
  715.         <div class="setting-buttons">\
  716.             <input id="suaf-prompt-export" value="Экспорт" type="button" />\
  717.             <input id="suaf-prompt-import" value="Импорт" type="button" />\
  718.             <input id="suaf-prompt-close" value="Закрыть" type="button" />\
  719.         </div>\
  720.         </div>';
  721.         document.body.appendChild(ui);
  722.         var btns = ui.querySelectorAll('.setting-buttons > input');
  723.         for (var i = 0; i < btns.length; i++) {
  724.             btns[i].addEventListener('click', promptButtons, false);
  725.         }
  726.     },
  727.     _iconPanoramaUI: function() {
  728.         var ui = document.createElement('div');
  729.         ui.id = 'suaf-icon-panorama';
  730.         ui.className = 'suaf-shadow';
  731.         ui.style.zIndex = 1000;
  732.         var text = '<div class="suaf-dialog qr qr-settings" style="text-align: center; min-width: unset; border: unset;">';
  733.  
  734.         for (var ics = Object.keys(Icons), i = 0, sqr = Math.ceil(Math.sqrt(ics.length)); i < ics.length; i++) {
  735.             if (i && !(i % sqr)) {
  736.                 text +=  '<br />';
  737.             }
  738.             text += '<img style="margin: 3px;" src="data:image/png;base64,' + Icons[ics[i]].data + '"></img>';
  739.         }
  740.  
  741.         text += '</div>';
  742.         ui.innerHTML = text;
  743.         ui.firstChild.addEventListener('click', function() {removeNode(document.getElementById('suaf-icon-panorama'));}, false);
  744.  
  745.  
  746.         document.body.appendChild(ui);
  747.     }
  748. };
  749.  
  750. const UAFixer = {
  751.     _css: null,
  752.     fixPosts: function(node) {
  753.         var uas = node.querySelectorAll('.ananimas > span:not(.suaf-fixed), .post-email > span:not(.suaf-fixed)');
  754.         for (var i = 0; i < uas.length; i++) {
  755.  
  756.  
  757.             var fields = uas[i].textContent.match(/^\(([^:]+): (.*)\)/);
  758.             if (fields.length === 3) {
  759.  
  760.  
  761.                 uas[i].outerHTML = '<span ua="' + fields[1] + '" title="' + fields[1] + '" class="suaf-fixed" style="color:rgb(164,164,164);"> </span> <span ua="' + fields[2] + '" title="' + fields[2] + '" class="suaf-fixed" style="color:rgb(164,164,164);"> </span>';
  762.             }
  763.         }
  764.     },
  765.     draw: function() {
  766.         var text = '.post-details > .post-email {text-decoration: none;}\
  767.             .ananimas > span, .post-email > span {font-weight: bold;}'
  768.        
  769.         var uas = Prefs.getCurrentPreset().query();
  770.         for (var i in uas) {
  771.             var icon = uas[i].icon;
  772.             if (Prefs.prefs.iconHeight) {
  773.                 var height = Prefs.prefs.iconHeight;
  774.                 var width = height*icon.width/icon.height;
  775.             } else {
  776.                 var height = icon.height
  777.                 var width = icon.width;
  778.             }
  779.             text += '.suaf-fixed[ua="' + i + '"]::before {\
  780.                 content: "' + (Prefs.prefs.showDesc ? escapeString(uas[i].desc) : '') + '";\
  781.                 } \
  782.                 .suaf-fixed[ua="' + i + '"]::after {\
  783.                     background-image: url(data:image/*;base64,' +  icon.data + ');\
  784.                     display: inline-block;\
  785.                     vertical-align: middle;\
  786.                     background-size: ' + width + 'px ' + height + 'px;\
  787.                     height: ' + height + 'px;\
  788.                     width: ' + width + 'px;\
  789.                     content: "";\
  790.                 } ';
  791.         }
  792.  
  793.  
  794.  
  795.  
  796.        
  797.         UAFixer._css.textContent = text;
  798.     },
  799.     init: function() {
  800.         UAFixer._css = document.createElement('style');
  801.         UAFixer._css.type = 'text/css';
  802.         document.documentElement.appendChild(UAFixer._css);
  803.         UAFixer.fixPosts(document);
  804.         UAFixer.draw();
  805.     }
  806. };
  807.  
  808. const NewPostObserver = {
  809.     _callback: function(mutations, observer) {
  810.         for (var i = 0; i < mutations.length; i++) {
  811.             var m = mutations[i];
  812.             for (var j = 0; j < m.addedNodes.length; j++) {
  813.                 if (/^(post|preview|post-details)-|expanded-posts/.test(m.addedNodes[j].id)) {
  814.                     if (m.addedNodes[j].firstChild.className === 'ABU-icn-wait') {
  815.                         observer.observe(m.addedNodes[j], {childList: true});
  816.                     } else {
  817.                         UAFixer.fixPosts(m.addedNodes[j]);
  818.                     }
  819.                 }
  820.             }
  821.         }
  822.     },
  823.     _set: function() {
  824.         var observer = new MutationObserver(NewPostObserver._callback);
  825.                 var threads = document.querySelectorAll('.thread, body .posts > form');
  826.         for (var i = 0; i < threads.length; i++) {
  827.                         observer.observe(threads[i], {childList: true});
  828.                 }
  829.     },
  830.     _wait: function(event) {
  831.         if (document.readyState === 'complete') {
  832.             document.removeEventListener('readystatechange', NewPostObserver._wait, false);
  833.             NewPostObserver._set();
  834.         }
  835.     },
  836.     init: function() {
  837.         if (document.readyState !== 'complete') {
  838.             document.addEventListener('readystatechange', NewPostObserver._wait, false);
  839.         } else {
  840.             NewPostObserver._set();
  841.         }
  842.         }
  843. };
  844.  
  845.  
  846. Prefs.init();
  847. Settings.init();
  848. UAFixer.init();
  849. NewPostObserver.init();
Add Comment
Please, Sign In to add comment