# Name: smd_article_stats v0.21 # Type: Admin/Client side plugin # Get article/excerpt statistics and display them to visitors # Author: Stef Dawson # URL: http://stefdawson.com/ # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjE3OiJzbWRfYXJ0aWNsZV9zdGF0cyI7czo2OiJhdXRob3Ii O3M6MTE6IlN0ZWYgRGF3c29uIjtzOjEwOiJhdXRob3JfdXJpIjtzOjIyOiJodHRwOi8vc3Rl ZmRhd3Nvbi5jb20vIjtzOjc6InZlcnNpb24iO3M6NDoiMC4yMSI7czoxMToiZGVzY3JpcHRp b24iO3M6NTk6IkdldCBhcnRpY2xlL2V4Y2VycHQgc3RhdGlzdGljcyBhbmQgZGlzcGxheSB0 aGVtIHRvIHZpc2l0b3JzIjtzOjQ6ImNvZGUiO3M6Mzk1OToiaWYgKEB0eHBpbnRlcmZhY2Ug PT0gJ2FkbWluJykgew0KCXJlZ2lzdGVyX2NhbGxiYWNrKCJzbWRfYXJ0aWNsZV9pbmZvIiwg ImFydGljbGUiKTsNCn0NCg0KLy8gQ2xpZW50LXNpZGUgaW5mbw0KZnVuY3Rpb24gc21kX2Fy dGljbGVfc3RhdHMoJGF0dHMsICR0aGluZz1OVUxMKSB7DQoJZ2xvYmFsICR0aGlzYXJ0aWNs ZTsNCg0KCWFzc2VydF9hcnRpY2xlKCk7DQoNCglleHRyYWN0KGxBdHRzKGFycmF5KA0KCQkn d3JhcHRhZycgPT4gJycsDQoJCSdjbGFzcycgPT4gX19GVU5DVElPTl9fLA0KCQknYnJlYWsn ID0+ICcnLA0KCQknbGFiZWwnID0+ICcnLA0KCQknbGFiZWx0YWcnID0+ICcnLA0KCQknaXRl bScgPT4gJycsDQoJKSwgJGF0dHMpKTsNCg0KCSRvdXQgPSBhcnJheSgpOw0KCSRpdGVtID0g ZG9fbGlzdCgkaXRlbSk7DQoJJG91dFtdID0gc21kX2FydGljbGVfaW5mb19jb3VudCgkaXRl bSwgJHRoaXNhcnRpY2xlWydib2R5J10sICR0aGlzYXJ0aWNsZVsnZXhjZXJwdCddLCAkdGhp c2FydGljbGVbJ3RpdGxlJ10pOw0KDQoJcmV0dXJuIGRvTGFiZWwoJGxhYmVsLCAkbGFiZWx0 YWcpLmRvV3JhcCgkb3V0LCAkd3JhcHRhZywgJGJyZWFrLCAkY2xhc3MpOw0KfQ0KDQovLyBB ZG1pbi1zaWRlIGluZm8gLS0gYXV0by11cGRhdGVkIHZpYSBqUXVlcnkNCmZ1bmN0aW9uIHNt ZF9hcnRpY2xlX2luZm8oJGV2ZW50LCAkc3RlcCkgew0KCWV4dHJhY3QoZ3BzYShhcnJheSgn dmlldycpKSk7DQoNCglpbmNsdWRlX29uY2UgdHhwYXRoLicvcHVibGlzaC90YWdoYW5kbGVy cy5waHAnOw0KCWlmKCEkdmlldyB8fCBncHMoJ3NhdmUnKSB8fCBncHMoJ3B1Ymxpc2gnKSkg ew0KCQkkdmlldyA9ICd0ZXh0JzsNCgl9DQoNCglpZiAoJHZpZXcgPT0gJ3RleHQnKSB7DQoJ CSRzY3JlZW5fbG9jcyA9IGFycmF5KA0KCQkJJ25vbmUnID0+ICcnLA0KCQkJJ2V4Y2VycHRf YmVsb3cnID0+ICdkYXxhcnRpY2xlLW1haW4nLA0KCQkJJ3N0YXR1c19hYm92ZScgPT4gJ2px fCN3cml0ZS1zdGF0dXN8YmVmb3JlJywNCgkJCSd0aXRsZV9hYm92ZScgPT4gJ2pxfCNhcnRp Y2xlLW1haW58cHJlcGVuZCcsDQoJCQkndGV4dGlsZV9oZWxwX2Fib3ZlJyA9PiAnanF8I2Fy dGljbGUtY29sLTF8cHJlcGVuZCcsDQoJCQkndGV4dGlsZV9oZWxwX2JlbG93JyA9PiAnanF8 I3RleHRpbGVfaGVscHxhZnRlcicsDQoJCSk7DQoNCgkJLy8gQ2hlY2sgaGlkZGVuIHByZWYg YW5kIHNhbml0aXplDQoJCSRwb3NuID0gZ2V0X3ByZWYoJ3NtZF9hcnRpY2xlX3N0YXRzX3Bv cycsICdzdGF0dXNfYWJvdmUnKTsNCgkJJHBvc24gPSAoYXJyYXlfa2V5X2V4aXN0cygkcG9z biwgJHNjcmVlbl9sb2NzKSkgPyAkcG9zbiA6ICdzdGF0dXNfYWJvdmUnOw0KCQkkcGxhY2Vy ID0gZXhwbG9kZSgnfCcsICRzY3JlZW5fbG9jc1skcG9zbl0pOw0KDQoJCSRpZCA9IChlbXB0 eSgkR0xPQkFMU1snSUQnXSkgPyBncHMoJ0lEJykgOiAkR0xPQkFMU1snSUQnXSk7DQoJCSRp dGVtID0gYXJyYXkoJ2V4Y2VycHQnLCAnYm9keScpOw0KCQlpZiAoZW1wdHkoJGlkKSkgew0K CQkJJHJzID0gYXJyYXkoJ0JvZHknID0+ICcnLCAnRXhjZXJwdCcgPT4gJycsICdTdGF0dXMn ID0+ICcnKTsNCgkJfSBlbHNlIHsNCgkJCSRycyA9IHNhZmVfcm93KCdCb2R5LCBFeGNlcnB0 LCBTdGF0dXMnLCAndGV4dHBhdHRlcm4nLCAnSUQ9Jy5kb1NsYXNoKCRpZCkpOw0KCQl9DQoN CgkJJGJ3YyA9IHNtZF9hcnRpY2xlX2luZm9fY291bnQoJGl0ZW0sICRyc1snQm9keSddLCAn JywgJycpOw0KCQkkZXdjID0gc21kX2FydGljbGVfaW5mb19jb3VudCgkaXRlbSwgJycsICRy c1snRXhjZXJwdCddLCAnJyk7DQoJCSR3b3JkcyA9ICRid2MgKyAkZXdjOw0KCQkkaWRsaW5r ID0gKCRpZCAmJiBpbl9hcnJheSgkcnNbJ1N0YXR1cyddLCBhcnJheSg0LDUpKSkgPyAnPGEg aHJlZj0iJyAucGVybWxpbmt1cmxfaWQoJGlkKS4nIj4nIC4kaWQuICc8L2E+JyA6ICRpZDsN CgkJJG91dDEgPSAnPGZpZWxkc2V0PjxsZWdlbmQ+QXJ0aWNsZSBTdGF0czwvbGVnZW5kPjxz cGFuIGNsYXNzPSJzbWRfYXJ0aWNsZV9zdGF0c193YyI+Jy4kd29yZHMuJzwvc3Bhbj4gd29y ZDxzcGFuIGNsYXNzPSJzbWRfYXJ0aWNsZV9zdGF0c193ZCI+Jy4oKCR3b3Jkcz09MSk/Jyc6 J3MnKS4nPC9zcGFuPjogKCA8c3BhbiBjbGFzcz0ic21kX2FydGljbGVfc3RhdHNfYmMiPicu JGJ3Yy4nPC9zcGFuPiAvIDxzcGFuIGNsYXNzPSJzbWRfYXJ0aWNsZV9zdGF0c19lYyI+Jy4k ZXdjLic8L3NwYW4+ICknLigoJGlkKSA/ICcgfCBpZDogJyAuJGlkbGluayA6ICcnKS4nPC9m aWVsZHNldD4nOw0KCQkkb3V0MiA9IDw8PEVPSlMNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZh c2NyaXB0Ij4NCmpRdWVyeShmdW5jdGlvbigpIHsNCglqUXVlcnkoIiNib2R5LCAjZXhjZXJw dCIpLmtleXVwKGZ1bmN0aW9uKCkgew0KCQl2YXIgYmR5ID0galF1ZXJ5KCIjYm9keSIpLnZh bCgpOw0KCQliZHkgKz0gKGJkeS5sZW5ndGg+MCkgPyAiICIgOiAiIjsNCgkJdmFyIGV4YyA9 IGpRdWVyeSgiI2V4Y2VycHQiKS52YWwoKTsNCgkJZXhjICs9IChleGMubGVuZ3RoPjApID8g IiAiIDogIiI7DQoJCXZhciBid2MgPSBiZHkucmVwbGFjZSgvKDwoW14+XSspPikvaWcsIiIp LnNwbGl0KC9ccysvKS5sZW5ndGgtMTsNCgkJdmFyIGV3YyA9IGV4Yy5yZXBsYWNlKC8oPChb Xj5dKyk+KS9pZywiIikuc3BsaXQoL1xzKy8pLmxlbmd0aC0xOw0KCQl2YXIgd2RzID0gYndj K2V3YzsNCgkJalF1ZXJ5KCIuc21kX2FydGljbGVfc3RhdHNfd2MiKS50ZXh0KHdkcyk7DQoJ CWpRdWVyeSgiLnNtZF9hcnRpY2xlX3N0YXRzX3dkIikudGV4dCgoKHdkcz09MSk/IiI6InMi KSk7DQoJCWpRdWVyeSgiLnNtZF9hcnRpY2xlX3N0YXRzX2JjIikudGV4dChid2MpOw0KCQlq UXVlcnkoIi5zbWRfYXJ0aWNsZV9zdGF0c19lYyIpLnRleHQoZXdjKTsNCgl9KTsNCn0pOw0K PC9zY3JpcHQ+DQpFT0pTOw0KCQlpZiAoJHBsYWNlclswXSA9PSAnanEnKSB7DQoJCQllY2hv ICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+alF1ZXJ5KGZ1bmN0aW9uKCkgeyBq UXVlcnkoIicuJHBsYWNlclsxXS4nIikuJy4kcGxhY2VyWzJdLicoXCcnLiRvdXQxLidcJyk7 IH0pOzwvc2NyaXB0PicuJG91dDI7DQoJCX0gZWxzZSBpZiAoJHBsYWNlclswXSA9PSAnZGEn KSB7DQoJCQllY2hvIGRvbV9hdHRhY2goJHBsYWNlclsxXSwgJG91dDEuJG91dDIsICRvdXQx LCAnZGl2Jyk7DQoJCX0NCgl9DQp9DQoNCi8vIExpYnJhcnkgZnVuY3Rpb24NCmZ1bmN0aW9u IHNtZF9hcnRpY2xlX2luZm9fY291bnQoJGl0ZW0sICRib2R5LCAkZXhjZXJwdCwgJHRpdGxl KSB7DQoJJHdvcmRzID0gMDsNCgkkbm90YWdzID0gJy8oPChbXj5dKz8pPikvJzsNCgkkYm9k eSA9IHByZWdfcmVwbGFjZSgkbm90YWdzLCAnJywgdHJpbSgkYm9keSkpIC4gKChzdHJsZW4o JGJvZHkpPT0wKSA/ICcnIDogJyAnKTsNCgkkZXhjZXJwdCA9IHByZWdfcmVwbGFjZSgkbm90 YWdzLCAnJywgdHJpbSgkZXhjZXJwdCkpIC4gKChzdHJsZW4oJGV4Y2VycHQpPT0wKSA/ICcn IDogJyAnKTsNCgkkdGl0bGUgPSBwcmVnX3JlcGxhY2UoJG5vdGFncywgJycsIHRyaW0oJHRp dGxlKSkgLiAoKHN0cmxlbigkdGl0bGUpPT0wKSA/ICcnIDogJyAnKTsNCg0KCWZvcmVhY2gg KCRpdGVtIGFzICR3aGF0bm90KSB7DQoJCXN3aXRjaCAoJHdoYXRub3QpIHsNCgkJCWNhc2Ug ImJvZHkiOg0KCQkJCSR3b3JkcyArPSBwcmVnX21hdGNoX2FsbCgnQFxzK0AnLCAkYm9keSwg JG0pOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZXhjZXJwdCI6DQoJCQkJJHdvcmRzICs9IHBy ZWdfbWF0Y2hfYWxsKCdAXHMrQCcsICRleGNlcnB0LCAkbSk7DQoJCQkJYnJlYWs7DQoJCQlj YXNlICJ0aXRsZSI6DQoJCQkJJHdvcmRzICs9IHByZWdfbWF0Y2hfYWxsKCdAXHMrQCcsICR0 aXRsZSwgJG0pOw0KCQkJCWJyZWFrOw0KCQl9DQoJfQ0KCXJldHVybiAkd29yZHM7DQp9DQoi O3M6NDoidHlwZSI7czoxOiIxIjtzOjU6Im9yZGVyIjtzOjE6IjUiO3M6NToiZmxhZ3MiO3M6 MToiMCI7czo0OiJoZWxwIjtzOjM3NDA6IjxkaXYgaWQ9InNtZF9oZWxwIj4KCgk8aDE+c21k X2FydGljbGVfc3RhdHM8L2gxPgoKCTxwPlB1dCB0aGlzIHRhZyBpbiB5b3VyIGFydGljbGUg Zm9ybSB0byBkaXNwbGF5IGluZm8gYWJvdXQgdGhlIGN1cnJlbnQgYXJ0aWNsZS4gVGFncyBh cmUgaWdub3JlZC4gTm90ZSB0aGF0IGl0IG9ubHkgZGlzcGxheXMgdGhlIGFjdHVhbCBudW1i ZXIgb2Ygd29yZHMgZW50ZXJlZCBpbiB0aGUgYXJ0aWNsZSBpdHNlbGYgJiM4MjEyOyBpZiBz b21lIG9mIHRoZSBjb250ZW50IGlzIGRlcml2ZWQgZnJvbSBvdGhlciBmb3JtcywgaXQgd2ls bCBub3QgYmUgaW5jbHVkZWQuPC9wPgoKCTxoMj5BdHRyaWJ1dGVzPC9oMj4KCgk8dWw+CgkJ PGxpPjxzcGFuIGNsYXNzPSJhdG5tIj5pdGVtPC9zcGFuPiA6IGxpc3Qgb2YgaXRlbXMgeW91 IHdhbnQgdG8gZGlzcGxheS4gQ3VycmVudGx5IGNob29zZSBmcm9tIDxjb2RlPmJvZHk8L2Nv ZGU+LCA8Y29kZT5leGNlcnB0PC9jb2RlPiBvciA8Y29kZT50aXRsZTwvY29kZT4gdG8gZ2V0 IHRoZSBudW1iZXIgb2Ygd29yZHMgaW4gdGhlIHJlbGV2YW50IGZpZWxkczwvbGk+CgkJPGxp PjxzcGFuIGNsYXNzPSJhdG5tIj5sYWJlbDwvc3Bhbj4gOiBsYWJlbCB0ZXh0IHRvIG91dHB1 dCBiZWZvcmUgdGhlIHJlcXVlc3RlZCBpbmZvPC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0 bm0iPmxhYmVsdGFnPC9zcGFuPiA6IChYKUhUTUwgdGFnIHdpdGhvdXQgYnJhY2tldHMgdG8g d3JhcCBhcm91bmQgdGhlIGxhYmVsPC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPndy YXB0YWc8L3NwYW4+IDogKFgpSFRNTCB0YWcgd2l0aG91dCBicmFja2V0cyB0byB3cmFwIGFy b3VuZCB0aGUgb3V0cHV0PC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPmNsYXNzPC9z cGFuPiA6IDxzcGFuIGNsYXNzPSJjYXBzIj5DU1M8L3NwYW4+IGNsYXNzbmFtZSB0byBhcHBs eSB0byB0aGUgd3JhcHRhZzwvbGk+Cgk8L3VsPgoKCTxoMj5BZG1pbiBzaWRlPC9oMj4KCgk8 cD5PbiB0aGUgV3JpdGUgdGFiLCB0aGUgbnVtYmVyIG9mIHdvcmRzIGluIHRoZSBib2R5IC8g ZXhjZXJwdCBhcmUgZGlzcGxheWVkIGluIGEgc3RhdHMgcGFuZWwuIEl0IGlzIHVwZGF0ZWQg aW4gcmVhbCB0aW1lIGFzIHdvcmRzIGFyZSBlbnRlcmVkLiBUaGUgYXJ0aWNsZSBJRCBpcyBh bHNvIGRpc3BsYXllZDsgaHlwZXJsaW5rZWQgdG8gdGhlIGFydGljbGUgaXRzZWxmIGlmIGl0 IGlzIGxpdmUgb3Igc3RpY2t5LjwvcD4KCgk8cD5JZiB5b3Ugd2lzaCB0byBtb3ZlIHRoZSBw YW5lbCB0byBhIGRpZmZlcmVudCBsb2NhdGlvbiBvbiB0aGUgV3JpdGUgdGFiIHlvdSBjYW4g bWFuaXB1bGF0ZSBhIGhpZGRlbiBwcmVmZXJlbmNlICh5b3UgY291bGQgdXNlIHRoZSBzbWRf cHJlZmFsaXplciBwbHVnaW4gZm9yIHRoaXMgdGFzaykuIENyZWF0ZSBhIEhpZGRlbiBwcmVm ZXJlbmNlIGZvciB5b3VyIHVzZXIgbmFtZSBjYWxsZWQgPGNvZGU+c21kX2FydGljbGVfc3Rh dHNfcG9zPC9jb2RlPiBhbmQgZ2l2ZSBpdCBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6 PC9wPgoKCTx1bD4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPnN0YXR1c19hYm92ZTwvc3Bh bj4gOiAoZGVmYXVsdCBsb2NhdGlvbikgYWJvdmUgdGhlIFN0YXR1cyBib3g8L2xpPgoJCTxs aT48c3BhbiBjbGFzcz0iYXRubSI+ZXhjZXJwdF9iZWxvdzwvc3Bhbj4gOiBCZW5lYXRoIHRo ZSBhdXRob3IgaW5mbywgdW5kZXIgdGhlIEV4Y2VycHQ8L2xpPgoJCTxsaT48c3BhbiBjbGFz cz0iYXRubSI+dGl0bGVfYWJvdmU8L3NwYW4+IDogYWJvdmUgdGhlIFRpdGxlIGJveDwvbGk+ CgkJPGxpPjxzcGFuIGNsYXNzPSJhdG5tIj50ZXh0aWxlX2hlbHBfYWJvdmU8L3NwYW4+IDog YWJvdmUgdGhlIFRleHRpbGUgSGVscCB0d2lzdHk8L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0i YXRubSI+dGV4dGlsZV9oZWxwX2JlbG93PC9zcGFuPiA6IGJlbG93IHRoZSBUZXh0aWxlIEhl bHAgdHdpc3R5PC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPm5vbmU8L3NwYW4+IDog ZGlzYWJsZSB0aGUgcGFuZWw8L2xpPgoJPC91bD4KCgk8aDI+Q2hhbmdlbG9nPC9oMj4KCgk8 dWw+CgkJPGxpPjI0IEF1ZyAwOSB8IDAuMSB8IEluaXRpYWwgcmVsZWFzZTwvbGk+CgkJPGxp PjA3IE5vdiAwOSB8IDAuMiB8IEltcHJvdmVkIGNvdW50aW5nIHRvIGlnbm9yZSB0YWdzIGFu ZCBhZGRlZCByZWFsLXRpbWUgYWRtaW4tc2lkZSBjb3VudGVyIChib3RoIHRoYW5rcyBzcGVl a2UpPC9saT4KCQk8bGk+MjIgRmViIDEwIHwgMC4yMSB8IFByZXZlbnRlZCBlcnJvciBtZXNz YWdlIGlmIHN0ZXAgbWFuZ2xlZDwvbGk+Cgk8L3VsPgoKCTxoMj5DcmVkaXRzPC9oMj4KCgk8 cD5UaGFua3MgdG8gYm90aCB6ZW0gYW5kIGlibGFzdG9mZiBmb3IgdGhlIG9yaWdpbmFsIHdv cmtzIHRoYXQgdGhpcyBwbHVnaW4gYm9ycm93cyBhcyBpdHMgZm91bmRhdGlvbi48L3A+Cgo8 L2Rpdj4KPCEtLSAqKiogQkVHSU4gUExVR0lOIENTUyAqKiogLS0+CjxzdHlsZSB0eXBlPSJ0 ZXh0L2NzcyI+CiNzbWRfaGVscCB7IGxpbmUtaGVpZ2h0OjEuNSA7fQojc21kX2hlbHAgY29k ZSB7IGZvbnQtd2VpZ2h0OmJvbGQ7IGZvbnQ6IDEwNSUvMTMwJSAiQ291cmllciBOZXciLCBj b3VyaWVyLCBtb25vc3BhY2U7IGJhY2tncm91bmQtY29sb3I6ICNGRkZGQ0M7fQojc21kX2hl bHAgY29kZS5ibG9jayB7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgYm9yZGVyOjFweCBkb3R0ZWQg Izk5OTsgYmFja2dyb3VuZC1jb2xvcjogI2YwZTY4YzsgZGlzcGxheTpibG9jazsgbWFyZ2lu OjEwcHggMTBweCAyMHB4OyBwYWRkaW5nOjEwcHg7IH0KI3NtZF9oZWxwIGgxIHsgY29sb3I6 ICMzNjk7IGZvbnQ6IDIwcHggR2VvcmdpYSwgc2Fucy1zZXJpZjsgbWFyZ2luOiAwOyB0ZXh0 LWFsaWduOiBjZW50ZXI7IH0KI3NtZF9oZWxwIGgyIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNv bGlkIGJsYWNrOyBwYWRkaW5nOjEwcHggMCAwOyBjb2xvcjogIzM2OTsgZm9udDogMTdweCBH ZW9yZ2lhLCBzYW5zLXNlcmlmOyB9CiNzbWRfaGVscCBoMyB7IGNvbG9yOiAjMjc1Njg1OyBm b250OiBib2xkIDEycHggQXJpYWwsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxcHg7 IG1hcmdpbjogMTBweCAwIDA7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgdGV4dC1kZWNv cmF0aW9uOnVuZGVybGluZTt9CiNzbWRfaGVscCBoNCB7IGZvbnQ6IGJvbGQgMTFweCBBcmlh bCwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDFweDsgbWFyZ2luOiAxMHB4IDAgMCA7 dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQojc21kX2hlbHAgLmF0bm0geyBmb250LXdl aWdodDpib2xkOyBjb2xvcjojMzNkOyB9CiNzbWRfaGVscCAubWFuZCB7IGJhY2tncm91bmQ6 I2VlZTsgYm9yZGVyOjFweCBkb3R0ZWQgIzk5OTsgfQojc21kX2hlbHAgdGFibGUge3dpZHRo OjkwJTsgdGV4dC1hbGlnbjpjZW50ZXI7IHBhZGRpbmctYm90dG9tOjFlbTt9CiNzbWRfaGVs cCB0ZCwgI3NtZF9oZWxwIHRoIHtib3JkZXI6MXB4IHNvbGlkICM5OTk7IHBhZGRpbmc6LjVl bSAwO30KI3NtZF9oZWxwIHVsIHsgbGlzdC1zdHlsZS10eXBlOnNxdWFyZTsgfQojc21kX2hl bHAgLnJlcXVpcmVkIHtjb2xvcjpyZWQ7fQojc21kX2hlbHAgbGkgeyBtYXJnaW46NXB4IDIw cHggNXB4IDMwcHg7IH0KI3NtZF9oZWxwIC5icmVhayB7IG1hcmdpbi10b3A6NXB4OyB9Cjwv c3R5bGU+CjwhLS0gKioqIEVORCBQTFVHSU4gQ1NTICoqKiAtLT4KIjtzOjM6Im1kNSI7czoz MjoiNDI3NjUzZTE4NzNiNzcwZDgxZTljNmU5ZGYzMmJhYzciO30=