# Name: rah_default_category v0.2 # Type: Admin only plugin # Select a default category # Author: Jukka Svahn # URL: http://rahforum.biz # 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: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjIwOiJyYWhfZGVmYXVsdF9jYXRlZ29yeSI7czo2OiJhdXRo b3IiO3M6MTE6Ikp1a2thIFN2YWhuIjtzOjEwOiJhdXRob3JfdXJpIjtzOjE5OiJodHRwOi8v cmFoZm9ydW0uYml6IjtzOjc6InZlcnNpb24iO3M6MzoiMC4yIjtzOjExOiJkZXNjcmlwdGlv biI7czoyNToiU2VsZWN0IGEgZGVmYXVsdCBjYXRlZ29yeSI7czo0OiJoZWxwIjtzOjI3OTc6 Igk8aDE+cmFoX2RlZmF1bHRfY2F0ZWdvcnk8L2gxPgoKCTxwPlJhaF9kZWZhdWx0X2NhdGVn b3J5IGlzIGEgdGlueSBhZG1pbi1leHRlbnNpb24gZm9yIDxhIGhyZWY9Imh0dHA6Ly93d3cu dGV4dHBhdHRlcm4uY29tIj5UZXh0cGF0dGVybiA8c3BhbiBjbGFzcz0iY2FwcyI+Q01TPC9z cGFuPjwvYT4uIFRoZSBwbHVnaW4gYnJpbmdzIHRoZSA8ZW0+ZGVmYXVsdCBzZWN0aW9uPC9l bT4gZmVhdHVyZSB0byBjYXRlZ29yaWVzLiBXaXRoIHJhaF9kZWZhdWx0X2NhdGVnb3J5IHNp dGUgYXV0aG9ycyBjYW4gcGljayBkZWZhdWx0IGFydGljbGUgY2F0ZWdvcmllcywganVzdCBs aWtlIHlvdSBjYW4gc2VsZWN0IGEgZGVmYXVsdCBzZWN0aW9uLiBUaGUgcGx1Z2luIGlzIGFu IGFuc3dlciB0byBhIHJlcXVlc3QgbWFkZSBieSA8YSBocmVmPSJodHRwOi8vZm9ydW0udGV4 dHBhdHRlcm4uY29tL3ZpZXd0b3BpYy5waHA/aWQ9MjkxNDgiPmppbTwvYT4uPC9wPgoKCTx1 bD4KCQk8bGk+VmVyc2lvbjogMC4yPC9saT4KCQk8bGk+VXBkYXRlZDogMjAxMC8wOC8xMSA0 OjAwIEFNIDxzcGFuIGNsYXNzPSJjYXBzIj5VVEM8L3NwYW4+PC9saT4KCTwvdWw+CgoJPGgz PlRhYmxlIG9mIENvbnRlbnRzPC9oMz4KCgk8dWw+CgkJPGxpPjxhIGhyZWY9IiNsaXN0LW9m LWZlYXR1cmVzIj5MaXN0IG9mIGZlYXR1cmVzPC9hPjwvbGk+CgkJPGxpPjxhIGhyZWY9IiNy ZXF1aXJlbWVudHMiPlJlcXVpcmVtZW50czwvYT48L2xpPgoJCTxsaT48YSBocmVmPSIjaW5z dGFsbGF0aW9uLWFuZC11c2FnZSI+SW5zdGFsbGF0aW9uIGFuZCB1c2FnZTwvYT48L2xpPgoJ CTxsaT48YSBocmVmPSIjY2hhbmdlbG9nIj5DaGFuZ2Vsb2c8L2E+PC9saT4KCTwvdWw+CgoJ PGgzIGlkPSJsaXN0LW9mLWZlYXR1cmVzIj5MaXN0IG9mIGZlYXR1cmVzPC9oMz4KCgk8dWw+ CgkJPGxpPlNlbGVjdCBkZWZhdWx0IGNhdGVnb3JpZXMgZm9yIGFydGljbGVzLCBqdXN0IGxp a2UgeW91IGNhbiBzZWxlY3QgZGVmYXVsdCBzZWN0aW9uLjwvbGk+CgkJPGxpPkludGVyZmFj ZSB1bmRlciA8ZW0+VGV4dHBhdHRlcm4gLyBFeHRlbnNpb25zIC8gRGVmYXVsdCBDYXRlZ29y eTwvZW0+IGZvciBzZXR0aW5nIHRoZSBkZWZhdWx0IGNhdGVnb3JpZXMuPC9saT4KCQk8bGk+ VmFsaWQgPHNwYW4gY2xhc3M9ImNhcHMiPlhIVE1MPC9zcGFuPiBhbmQgY2xlYW4gSmF2YXNj cmlwdC48L2xpPgoJPC91bD4KCgk8aDMgaWQ9InJlcXVpcmVtZW50cyI+UmVxdWlyZW1lbnRz PC9oMz4KCgk8cD5SYWhfZGVmYXVsdF9jYXRlZ29yeSYjODIxNztzIG1pbmltdW0gcmVxdWly ZW1lbnRzOjwvcD4KCgk8dWw+CgkJPGxpPlRleHRwYXR0ZXJuIDQuMC43KzwvbGk+CgkJPGxp PmpRdWVyeSAoYnVuZGxlZCB3aXRoIFRleHRwYXR0ZXJuKS48L2xpPgoJPC91bD4KCgk8aDMg aWQ9Imluc3RhbGxhdGlvbi1hbmQtdXNhZ2UiPkluc3RhbGxhdGlvbiBhbmQgdXNhZ2U8L2gz PgoKCTxwPlRoZSBub3JtYWwgcGx1Z2luIGluc3RhbGxhdGlvbiBiZWhhdmlvciBzdGFuZHM6 PC9wPgoKCTxvbD4KCQk8bGk+RG93bmxvYWQgdGhlIHBsdWdpbiBpbnN0YWxsYXRpb24gY29k ZSBmaWxlLjwvbGk+CgkJPGxpPk5hdmlnYXRlIHRvIHlvdXIgVGV4dHBhdHRlcm4gaW5zdGFs bGF0aW9uJiM4MjE3O3MgPGVtPlBsdWdpbnM8L2VtPiBwYWdlICg8c3BhbiBjbGFzcz0iY2Fw cyI+VFhQPC9zcGFuPi9BZG1pbi9QbHVnaW5zKS48L2xpPgoJCTxsaT5Db3B5IGFuZCBwYXN0 ZSB0aGUgcGx1Z2luIGNvZGUgdG8gdGhlIDxlbT5JbnN0YWxsIHBsdWdpbjwvZW0+IGJveCBh bmQgcnVuIHRoZSBhdXRvbWF0ZWQgc2V0dXAuPC9saT4KCQk8bGk+V2hlbiB0aGUgc2V0dXAg aXMgZG9uZSwganVzdCBhY3RpdmF0ZSB0aGUgcGx1Z2luIGZyb20gdGhlIHBsdWdpbiBsaXN0 LjwvbGk+CgkJPGxpPldoZW4gZG9uZSwgdGhlIHBsdWdpbiBpcyByZWFkeSB0byBiZSB1c2Vk LiBOb3cgeW91IGNhbiBnbyB0byA8ZW0+RXh0ZW5zaW9ucyAvIERlZmF1bHQgY2F0ZWdvcnk8 L2VtPiBhbmQgcGljayB0aGUgZGVmYXVsdCBjYXRlZ29yaWVzLjwvbGk+Cgk8L29sPgoKCTxo MyBpZD0iY2hhbmdlbG9nIj5DaGFuZ2Vsb2c8L2gzPgoKCTxwPjxzdHJvbmc+VmVyc2lvbiAw LjI8L3N0cm9uZz48L3A+CgoJPHVsPgoJCTxsaT5GaXhlZDogY29uZGl0aW9uYWwgbG9naWMu IE5vdyBkb2VzbiYjODIxNzt0IHJlc2VsZWN0ZWQgZGVmYXVsdCBjYXRlZ29yaWVzIGFmdGVy IDxlbT5hcnRpY2xlIHBvc3QgKyBlbXB0eSBjYXRlZ29yaWVzPC9lbT4gY29tcG8uPC9saT4K CQk8bGk+UmVtb3ZlZCB0YWJsZXMgZnJvbSB0aGUgcGx1Z2luJiM4MjE3O3MgcHJlZnMgcGFu ZWwgYW5kIGNoYW5nZWQgdG8gYmV0dGVyIGxheW91dC48L2xpPgoJCTxsaT5SZW1vdmVkIGlu bGluZSBzdHlsZXMuPC9saT4KCQk8bGk+SW1wcm92ZWQgaW5zdGFsbGVyLjwvbGk+CgkJPGxp Pk5vdyB1c2VzIHNhbWUgY29kaW5nIHN0eWxlIGFzIGFsbCBuZXdlciByYWgtcGx1Z2lucy48 L2xpPgoJCTxsaT5DZW50cmFsaXplZCBwcmVmZXJlbmNlcyBmZXRjaGVyLjwvbGk+CgkJPGxp PkNoYW5nZWQgcHJlZnMgcGFuZWwgZXZlbnQgZnJvbSA8Y29kZT5yYWhfZGVmYXVsdF9jYXRl Z29yeV9wYWdlPC9jb2RlPiB0byA8Y29kZT5yYWhfZGVmYXVsdF9jYXRlZ29yeTwvY29kZT4u PC9saT4KCQk8bGk+Tm93IHJlcXVpcmVzIFRleHRwYXR0ZXJuIHZlcnNpb24gNC4wLjcgb3Ig bmV3ZXIuPC9saT4KCTwvdWw+CgoJPHA+PHN0cm9uZz5WZXJzaW9uIDAuMTwvc3Ryb25nPjwv cD4KCgk8dWw+CgkJPGxpPkluaXRpYWwgcmVsZWFzZS48L2xpPgoJPC91bD4iO3M6NDoiY29k ZSI7czo1Nzg2OiIJIyMjIyMjIyMjIyMjIyMjIyMjDQoJIw0KCSMJcmFoX2RlZmF1bHRfY2F0 ZWdvcnktcGx1Z2luIGZvciBUZXh0cGF0dGVybg0KCSMJdmVyc2lvbiAwLjINCgkjCWJ5IEp1 a2thIFN2YWhuDQoJIwlodHRwOi8vcmFoZm9ydW0uYml6DQoJIw0KCSMjIyMjIyMjIyMjIyMj IyMjIyMNCg0KCWlmKEB0eHBpbnRlcmZhY2UgPT0gJ2FkbWluJykgew0KCQlyZWdpc3Rlcl9j YWxsYmFjaygncmFoX2RlZmF1bHRfY2F0ZWdvcnknLCdhZG1pbl9zaWRlJywnaGVhZF9lbmQn KTsNCgkJcmVnaXN0ZXJfY2FsbGJhY2soJ3JhaF9kZWZhdWx0X2NhdGVnb3J5X2NzcycsJ2Fk bWluX3NpZGUnLCdoZWFkX2VuZCcpOw0KCQlhZGRfcHJpdnMoJ3JhaF9kZWZhdWx0X2NhdGVn b3J5JywgJzEsMicpOw0KCQlyZWdpc3Rlcl90YWIoImV4dGVuc2lvbnMiLCAicmFoX2RlZmF1 bHRfY2F0ZWdvcnkiLCAiRGVmYXVsdCBDYXRlZ29yeSIpOw0KCQlyZWdpc3Rlcl9jYWxsYmFj aygicmFoX2RlZmF1bHRfY2F0ZWdvcnlfcGFnZSIsICJyYWhfZGVmYXVsdF9jYXRlZ29yeSIp Ow0KCX0NCg0KLyoqDQoJSW5zdGFsbGVyDQoqLw0KDQoJZnVuY3Rpb24gcmFoX2RlZmF1bHRf Y2F0ZWdvcnlfaW5zdGFsbCgpIHsNCgkJc2FmZV9xdWVyeSgNCgkJCSJDUkVBVEUgVEFCTEUg SUYgTk9UIEVYSVNUUyAiLnNhZmVfcGZ4KCdyYWhfZGVmYXVsdF9jYXRlZ29yeScpLiIgKA0K CQkJCWBuYW1lYCBWQVJDSEFSKDI1NSkgTk9UIE5VTEwgREVGQVVMVCAnJywNCgkJCQlgdmFs dWVgIFZBUkNIQVIoMjU1KSBOT1QgTlVMTCBERUZBVUxUICcnLA0KCQkJCVBSSU1BUlkgS0VZ KGBuYW1lYCkNCgkJCSkiDQoJCSk7DQoJCQ0KCQlyYWhfZGVmYXVsdF9jYXRlZ29yeV9hZGRf cHJlZnMoDQoJCQlhcnJheSgNCgkJCQknZGVmYXVsdF9jYXRlZ29yeV8xJyA9PiAnJywNCgkJ CQknZGVmYXVsdF9jYXRlZ29yeV8yJyA9PiAnJw0KCQkJKQ0KCQkpOw0KCX0NCg0KLyoqDQoJ QWRkcyBuZXcgcHJlZnMgZnJvbSBhbiBhcnJheQ0KKi8NCg0KCWZ1bmN0aW9uIHJhaF9kZWZh dWx0X2NhdGVnb3J5X2FkZF9wcmVmcygkYXJyYXkpIHsNCgkJDQoJCWZvcmVhY2goJGFycmF5 IGFzICRrZXkgPT4gJHZhbCkNCgkJCWlmKA0KCQkJCXNhZmVfY291bnQoDQoJCQkJCSdyYWhf ZGVmYXVsdF9jYXRlZ29yeScsDQoJCQkJCSJuYW1lPSciLmRvU2xhc2goJGtleSkuIiciDQoJ CQkJKSA9PSAwDQoJCQkpDQoJCQkJc2FmZV9pbnNlcnQoDQoJCQkJCSdyYWhfZGVmYXVsdF9j YXRlZ29yeScsDQoJCQkJCSJuYW1lPSciLmRvU2xhc2goJGtleSkuIicsdmFsdWU9JyIuZG9T bGFzaCgkdmFsKS4iJyINCgkJCQkpOw0KDQoJfQ0KDQovKioNCglHZXRzIHRoZSBwcmVmZXJl bmNlcw0KKi8NCg0KCWZ1bmN0aW9uIHJhaF9kZWZhdWx0X2NhdGVnb3J5X3ByZWZzKCkgew0K CQkNCgkJJG91dCA9IGFycmF5KCk7DQoJCQ0KCQkkcnMgPSANCgkJCXNhZmVfcm93cygNCgkJ CQknbmFtZSx2YWx1ZScsDQoJCQkJJ3JhaF9kZWZhdWx0X2NhdGVnb3J5JywNCgkJCQknMT0x Jw0KCQkJKTsNCgkJDQoJCWZvcmVhY2goJHJzIGFzICRhKQ0KCQkJJG91dFskYVsnbmFtZSdd XSA9ICRhWyd2YWx1ZSddOw0KCQkJDQoJCXJldHVybiANCgkJCSRvdXQ7DQoJCQ0KCX0NCg0K LyoqDQoJQWRkcyB0aGUgc2VsZWN0aW9uIHNjcmlwdCB0byBXcml0ZSBwYW5lbA0KKi8NCg0K CWZ1bmN0aW9uIHJhaF9kZWZhdWx0X2NhdGVnb3J5KCkgew0KCQkNCgkJZ2xvYmFsICRldmVu dDsNCgkJDQoJCWlmKCRldmVudCAhPSAnYXJ0aWNsZScpDQoJCQlyZXR1cm47DQoJCQ0KCQlA JHByZWZzID0gcmFoX2RlZmF1bHRfY2F0ZWdvcnlfcHJlZnMoKTsNCgkJDQoJCWlmKCFpc3Nl dCgkcHJlZnNbJ2RlZmF1bHRfY2F0ZWdvcnlfMiddKSkNCgkJCXJldHVybjsNCgkJDQoJCS8q DQoJCQlJdCdzIHBvc3RlZCwgZG9uJ3QgcmVzZWxlY3QuDQoJCSovDQoJCQ0KCQlpZigoaXNz ZXQoJF9QT1NUKSAmJiAhZW1wdHkoJF9QT1NUKSkgfHwgZ3BzKCdJRCcpKQ0KCQkJcmV0dXJu Ow0KCQkNCgkJZXh0cmFjdCgkcHJlZnMpOw0KCQkNCgkJJGpzID0gDQoJCQkoIWVtcHR5KCRk ZWZhdWx0X2NhdGVnb3J5XzEpID8gDQoJCQkJJyQoIiNjYXRlZ29yeS0xIG9wdGlvblt2YWx1 ZT1cJycuc3RyX3JlcGxhY2UoIiciLCJcJyIsJGRlZmF1bHRfY2F0ZWdvcnlfMSkuJ1wnXSIp LmF0dHIoInNlbGVjdGVkIiwic2VsZWN0ZWQiKTsnIDogJycNCgkJCSkuDQoJCQkoIWVtcHR5 KCRkZWZhdWx0X2NhdGVnb3J5XzIpID8gDQoJCQkJJyQoIiNjYXRlZ29yeS0yIG9wdGlvblt2 YWx1ZT1cJycuc3RyX3JlcGxhY2UoIiciLCJcJyIsJGRlZmF1bHRfY2F0ZWdvcnlfMikuJ1wn XSIpLmF0dHIoInNlbGVjdGVkIiwic2VsZWN0ZWQiKTsnIDogJycNCgkJCSkNCgkJOw0KCQkN CgkJaWYoZW1wdHkoJGpzKSkNCgkJCXJldHVybjsNCg0KCQllY2hvIDw8PEVPRg0KDQoJCQk8 c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0K CQkJCSQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KCQkJCQl7JGpzfQ0KCQkJCX0p Ow0KCQkJPC9zY3JpcHQ+DQpFT0Y7DQoJfQ0KDQovKioNCglEZWxpdmVycyB0aGUgcGFuZWxz DQoqLw0KDQoJZnVuY3Rpb24gcmFoX2RlZmF1bHRfY2F0ZWdvcnlfcGFnZSgpIHsNCgkJcmVx dWlyZV9wcml2cygncmFoX2RlZmF1bHRfY2F0ZWdvcnknKTsNCgkJZ2xvYmFsICRzdGVwOw0K CQkNCgkJaWYoJHN0ZXAgPT0gJ3JhaF9kZWZhdWx0X2NhdGVnb3J5X3NhdmUnKQ0KCQkJcmFo X2RlZmF1bHRfY2F0ZWdvcnlfc2F2ZSgpOw0KCQllbHNlDQoJCQlyYWhfZGVmYXVsdF9jYXRl Z29yeV9lZGl0KCk7DQoJfQ0KDQovKioNCglBZGRzIHN0eWxlcyBmb3IgdGhlIHBhbmVscw0K Ki8NCg0KCWZ1bmN0aW9uIHJhaF9kZWZhdWx0X2NhdGVnb3J5X2NzcygpIHsNCgkJZ2xvYmFs ICRldmVudDsNCgkJaWYoJGV2ZW50ICE9ICdyYWhfZGVmYXVsdF9jYXRlZ29yeScpDQoJCQly ZXR1cm47DQoJCWVjaG8gPDw8RU9GDQoJCQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCQkJ CSNyYWhfZGVmYXVsdF9jYXRlZ29yeV9jb250YWluZXIgew0KCQkJCQl3aWR0aDogNjUwcHg7 DQoJCQkJCW1hcmdpbjogMCBhdXRvOw0KCQkJCX0NCgkJCQkjcmFoX2RlZmF1bHRfY2F0ZWdv cnlfY29udGFpbmVyIHNlbGVjdCB7DQoJCQkJCXdpZHRoOiA2NDBweDsNCgkJCQl9DQoJCQk8 L3N0eWxlPg0KRU9GOw0KCX0NCg0KLyoqDQoJRmVlbCBteSBtYWluIHBhaW4uLi4gd2FpdCBv ZiwgSSBtZWFuLCB0aGUgbWFpbiBwYW5lDQoqLw0KDQoJZnVuY3Rpb24gcmFoX2RlZmF1bHRf Y2F0ZWdvcnlfZWRpdCgkbWVzc2FnZT0nJykgew0KCQlnbG9iYWwgJGV2ZW50Ow0KCQkNCgkJ LyoNCgkJCUNoZWNrIGlmIHRoZSB0YWJsZSBleGlzdHMsIGlmIG5vdCwNCgkJCXJ1biB0aGUg aW5zdGFsbGVyLg0KCQkqLw0KCQkNCgkJQCRwcmVmcyA9IHJhaF9kZWZhdWx0X2NhdGVnb3J5 X3ByZWZzKCk7DQoJCQ0KCQlpZighaXNzZXQoJHByZWZzWydkZWZhdWx0X2NhdGVnb3J5XzIn XSkpIHsNCgkJCXJhaF9kZWZhdWx0X2NhdGVnb3J5X2luc3RhbGwoKTsNCgkJCSRwcmVmcyA9 IHJhaF9kZWZhdWx0X2NhdGVnb3J5X3ByZWZzKCk7DQoJCX0NCgkJDQoJCWV4dHJhY3QoJHBy ZWZzKTsNCgkJDQoJCXBhZ2V0b3AoJ3JhaF9kZWZhdWx0X2NhdGVnb3J5JywkbWVzc2FnZSk7 DQoJCQ0KCQllY2hvIA0KCQkJJwk8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iaW5kZXgu cGhwIiBpZD0icmFoX2RlZmF1bHRfY2F0ZWdvcnlfY29udGFpbmVyIj4nLm4uDQoJCQknCQk8 aDE+PHN0cm9uZz5yYWhfZGVmYXVsdF9jYXRlZ29yeTwvc3Ryb25nPiB8IFNlbGVjdCB5b3Vy IGRlZmF1bHQgYXJ0aWNsZSBjYXRlZ29yaWVzPC9oMT4nLm4uDQoJCQknCQk8cD4mIzE4Nzsg PGEgaHJlZj0iP2V2ZW50PXBsdWdpbiZhbXA7c3RlcD1wbHVnaW5faGVscCZhbXA7bmFtZT1y YWhfZGVmYXVsdF9jYXRlZ29yeSI+RG9jdW1lbnRhdGlvbjwvYT48L3A+Jy5uLg0KCQkJJwkJ PHA+Jy5uLg0KCQkJJwkJCTxsYWJlbD4nLm4uDQoJCQknCQkJCUNhdGVnb3J5MTo8YnIgLz4n Lm4uDQoJCQknCQkJCTxzZWxlY3QgaWQ9InJhaF9kZWZhdWx0X2NhdGVnb3J5XzEiIG5hbWU9 ImRlZmF1bHRfY2F0ZWdvcnlfMSI+Jy5uLg0KCQkJCQkJCQlyYWhfZGVmYXVsdF9jYXRlZ29y eV9saXN0aW5nKCRkZWZhdWx0X2NhdGVnb3J5XzEpLm4uDQoJCQknCQkJCTwvc2VsZWN0Picu bi4NCgkJCScJCQk8L2xhYmVsPicubi4NCgkJCScJCTwvcD4nLm4uDQoJCQknCQk8cD4nLm4u DQoJCQknCQkJPGxhYmVsPicubi4NCgkJCScJCQkJQ2F0ZWdvcnkyOjxiciAvPicubi4NCgkJ CScJCQkJPHNlbGVjdCBpZD0icmFoX2RlZmF1bHRfY2F0ZWdvcnlfMSIgbmFtZT0iZGVmYXVs dF9jYXRlZ29yeV8yIj4nLm4uDQoJCQkJCQkJCXJhaF9kZWZhdWx0X2NhdGVnb3J5X2xpc3Rp bmcoJGRlZmF1bHRfY2F0ZWdvcnlfMikubi4NCgkJCScJCQkJPC9zZWxlY3Q+Jy5uLg0KCQkJ JwkJCTwvbGFiZWw+Jy5uLg0KCQkJJwkJPC9wPicubi4NCgkJCScJCTxwPjxpbnB1dCB0eXBl PSJzdWJtaXQiIHZhbHVlPSJTYXZlIiBjbGFzcz0icHVibGlzaCIgLz48L3A+Jy5uLg0KCQkJ JwkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZXZlbnQiIHZhbHVlPSInLiRldmVudC4n IiAvPicubi4NCgkJCScJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InN0ZXAiIHZhbHVl PSJyYWhfZGVmYXVsdF9jYXRlZ29yeV9zYXZlIiAvPicubi4NCgkJCScJPC9mb3JtPicubjsN Cgl9DQoNCi8qKg0KCUxpc3RzIGNhdGVnb3JpZXMNCiovDQoNCglmdW5jdGlvbiByYWhfZGVm YXVsdF9jYXRlZ29yeV9saXN0aW5nKCRkZWZhdWx0PScnKSB7DQoNCgkJJG91dCA9IGFycmF5 KCk7DQoJCQ0KCQkkcnMgPSANCgkJCXNhZmVfcm93cygNCgkJCQknbmFtZSx0aXRsZScsDQoJ CQkJJ3R4cF9jYXRlZ29yeScsDQoJCQkJInR5cGUgPSAnYXJ0aWNsZScgYW5kIG5hbWUgIT0g J3Jvb3QnIG9yZGVyIGJ5IG5hbWUgYXNjIg0KCQkJKTsNCgkJDQoJCSRvdXRbXSA9ICc8b3B0 aW9uIHZhbHVlPSIiPk5vbmU8L29wdGlvbj4nOw0KCQkNCgkJZm9yZWFjaCgkcnMgYXMgJGEp IHsNCgkJCWV4dHJhY3QoJGEpOw0KCQkJJG91dFtdID0gDQoJCQkJJzxvcHRpb24gdmFsdWU9 IicuaHRtbHNwZWNpYWxjaGFycygkbmFtZSkuJyInLg0KCQkJCQkoKCRuYW1lID09ICRkZWZh dWx0KSA/ICcgc2VsZWN0ZWQ9InNlbGVjdGVkIicgOiAnJykuDQoJCQkJJz4nLiR0aXRsZS4n PC9vcHRpb24+JzsNCgkJfQ0KCQkNCgkJcmV0dXJuIGltcGxvZGUoJycsJG91dCk7DQoJfQ0K DQovKioNCglTYXZlcyB0aGUgcHJlZmVyZW5jZXMNCiovDQoNCglmdW5jdGlvbiByYWhfZGVm YXVsdF9jYXRlZ29yeV9zYXZlKCkgew0KCQlleHRyYWN0KA0KCQkJZG9TbGFzaCgNCgkJCQln cHNhKA0KCQkJCQlhcnJheSgNCgkJCQkJCSdkZWZhdWx0X2NhdGVnb3J5XzEnLA0KCQkJCQkJ J2RlZmF1bHRfY2F0ZWdvcnlfMicNCgkJCQkJKQ0KCQkJCSkNCgkJCSkNCgkJKTsNCgkJDQoJ CXNhZmVfdXBkYXRlKA0KCQkJJ3JhaF9kZWZhdWx0X2NhdGVnb3J5JywNCgkJCSJ2YWx1ZT0n JGRlZmF1bHRfY2F0ZWdvcnlfMSciLA0KCQkJIm5hbWU9J2RlZmF1bHRfY2F0ZWdvcnlfMSci DQoJCSk7DQoJCXNhZmVfdXBkYXRlKA0KCQkJJ3JhaF9kZWZhdWx0X2NhdGVnb3J5JywNCgkJ CSJ2YWx1ZT0nJGRlZmF1bHRfY2F0ZWdvcnlfMiciLA0KCQkJIm5hbWU9J2RlZmF1bHRfY2F0 ZWdvcnlfMiciDQoJCSk7DQoNCgkJcmFoX2RlZmF1bHRfY2F0ZWdvcnlfZWRpdCgnUHJlZmVy ZW5jZXMgc2F2ZWQuJyk7DQoJfSI7czo0OiJ0eXBlIjtzOjE6IjMiO3M6NToiZmxhZ3MiO3M6 MToiMCI7czo1OiJvcmRlciI7czoxOiI1IjtzOjM6Im1kNSI7czozMjoiNjcyNTFlNmNjYWQ2 MDZmYWYwZjQ5OGY5ZjY5ZGEzM2YiO30=