# Name: smd_multi_choice v0.20 # Type: Client side plugin # Switch / case construct for multiple conditional branches # 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: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjE2OiJzbWRfbXVsdGlfY2hvaWNlIjtzOjY6ImF1dGhvciI7 czoxMToiU3RlZiBEYXdzb24iO3M6MTA6ImF1dGhvcl91cmkiO3M6MjI6Imh0dHA6Ly9zdGVm ZGF3c29uLmNvbS8iO3M6NzoidmVyc2lvbiI7czo0OiIwLjIwIjtzOjExOiJkZXNjcmlwdGlv biI7czo1NzoiU3dpdGNoIC8gY2FzZSBjb25zdHJ1Y3QgZm9yIG11bHRpcGxlIGNvbmRpdGlv bmFsIGJyYW5jaGVzIjtzOjQ6ImNvZGUiO3M6NzIwMjoiZnVuY3Rpb24gc21kX3N3aXRjaCgk YXR0cywgJHRoaW5nKSB7DQoJZ2xvYmFsICRzbWRfc3dpdGNoX2l0ZW0sICRzbWRfc3dpdGNo X2RlYnVnLCAkc21kX2Nhc2VfdHJ1ZSwgJHNtZF9tdWx0aV9jYXNlLCAkc21kX21jX3ZhbCwg JHNtZF9ieXBhc3MsICRzbWRfdmFyX3ByZWZpeDsNCg0KCWV4dHJhY3QobEF0dHMoYXJyYXko DQoJCSdpdGVtJyA9PiAnJywNCgkJJ2xvb2tfaW4nID0+ICdTTURfQUxMJywNCgkJJ2xlYXZl X2VtcHR5JyA9PiAnMScsDQoJCSdkZWJ1ZycgPT4gJzAnLA0KCQkndmFyX3ByZWZpeCcgPT4g J3NtZF8nLA0KCSksICRhdHRzKSk7DQoNCglpZiAoIWlzc2V0KCRhdHRzWydpdGVtJ10pKSB7 DQoJCXRyaWdnZXJfZXJyb3IoInNtZF9tdWx0aV9jaG9pY2UgcmVxdWlyZXMgYW4gaXRlbSB0 byBsb29rIGF0Iik7DQoJCXJldHVybjsNCgl9DQoNCgkkc21kX3N3aXRjaF9pdGVtID0gc21k X21jX3BhcnNlKCRpdGVtLCAkbG9va19pbiwgJGxlYXZlX2VtcHR5KTsNCg0KCS8vIEluaXRp YWxpemUgZXZlcnl0aGluZyBlbHNlIGluIGNhc2UgcHJldmlvdXMgc21kX3N3aXRjaCB0YWdz IGxlZnQgYW55IGdsb2JhbCByZXNpZHVlDQoJJHNtZF92YXJfcHJlZml4ID0gJHZhcl9wcmVm aXg7DQoJJHNtZF9zd2l0Y2hfZGVidWcgPSAkZGVidWc7DQoJJHNtZF9ieXBhc3MgPSAkc21k X2Nhc2VfdHJ1ZSA9IDA7DQoJJHNtZF9tdWx0aV9jYXNlID0gZmFsc2U7DQoJJHNtZF9tY192 YWwgPSAnJzsNCg0KCXJldHVybiAocGFyc2UoJHRoaW5nKSk7DQp9DQoNCmZ1bmN0aW9uIHNt ZF9jYXNlKCRhdHRzLCAkdGhpbmc9TlVMTCkgew0KCWdsb2JhbCAkc21kX3N3aXRjaF9pdGVt LCAkc21kX3N3aXRjaF9kZWJ1ZywgJHNtZF9jYXNlX3RydWUsICRzbWRfbXVsdGlfY2FzZSwg JHNtZF9tY192YWwsICRzbWRfYnlwYXNzLCAkc21kX3Zhcl9wcmVmaXg7DQoNCglleHRyYWN0 KGxBdHRzKGFycmF5KA0KCQkndmFsdWUnID0+ICcnLA0KCQknbG9va19pbicgPT4gJ1NNRF9B TEwnLA0KCQknbGVhdmVfZW1wdHknID0+ICcxJywNCgkJJ3R5cGUnID0+ICdlcScsDQoJCSdj YXNlX3NlbnNpdGl2ZScgPT4gMCwNCgkJJ251bWVyaWMnID0+IDAsDQoJCSdmYWxsdGhydScg PT4gMCwNCgkJJ2RlZmF1bHQnID0+IDAsDQoJCSdkZWJ1ZycgPT4gMCwNCgkpLCAkYXR0cykp Ow0KDQoJJHJlc3VsdCA9IGZhbHNlOw0KDQoJLy8gVmFsaWRhdGlvbg0KCSRjYXNlcyA9IGFy cmF5KCdpc2xvd2VyJywgJ2lzdXBwZXInKTsNCgkkY2FzZV9zZW5zaXRpdmUgPSAoaW5fYXJy YXkoJHR5cGUsICRjYXNlcykpID8gMSA6ICRjYXNlX3NlbnNpdGl2ZTsNCgkkdmFsdWUgPSBz bWRfbWNfcGFyc2UoJHZhbHVlLCAkbG9va19pbiwgJGxlYXZlX2VtcHR5KTsNCgkkdmFsdWUg PSAoJGNhc2Vfc2Vuc2l0aXZlKSA/ICR2YWx1ZSA6IHN0cnRvbG93ZXIoJHZhbHVlKTsNCgkk dGVzdGVyID0gKCRjYXNlX3NlbnNpdGl2ZSkgPyAkc21kX3N3aXRjaF9pdGVtIDogc3RydG9s b3dlcigkc21kX3N3aXRjaF9pdGVtKTsNCgkkZmFsbHRocnUgPSAoISR0aGluZykgPyAxIDog JGZhbGx0aHJ1Ow0KDQoJJHJlcGxhY2VtZW50cyA9IGFycmF5KCk7DQoJJHJlcGxhY2VtZW50 c1sneycuJHNtZF92YXJfcHJlZml4Lidzd2l0Y2h9J10gPSAkcmVwbGFjZW1lbnRzWyd7Jy4k c21kX3Zhcl9wcmVmaXguJ21jX2l0ZW19J10gPSAkdGVzdGVyOw0KDQoJaWYgKCRzbWRfYnlw YXNzID09IDApIHsNCgkJaWYgKCRkZWJ1ZyB8fCAkc21kX3N3aXRjaF9kZWJ1Zykgew0KCQkJ ZWNobyAiKysgVEVTVCAkdGVzdGVyICIgLiAoKCRkZWZhdWx0KSA/ICdERUZBVUxUJyA6ICR0 eXBlLicgJy4kdmFsdWUpOw0KCQl9DQoJCWlmICgkZGVmYXVsdCA9PSAxICYmICEkc21kX2Nh c2VfdHJ1ZSkgew0KCQkJJHJlc3VsdCA9IHRydWU7DQoJCX0gZWxzZSB7DQoJCQlzd2l0Y2gg KCR0eXBlKSB7DQoJCQkJY2FzZSAnZXEnOg0KCQkJCQkkcmVzdWx0ID0gKCRudW1lcmljKSA/ ICgoJHRlc3RlciA9PT0gJHZhbHVlKSA/IHRydWUgOiBmYWxzZSkgOiAoKCR0ZXN0ZXIgPT0g JHZhbHVlKSA/IHRydWUgOiBmYWxzZSk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJ2d0JzoN CgkJCQkJJHJlc3VsdCA9ICgkbnVtZXJpYykgPyAoKGN0eXBlX2RpZ2l0KChzdHJpbmcpJHRl c3RlcikgJiYgY3R5cGVfZGlnaXQoKHN0cmluZykkdmFsdWUpICYmIChpbnQpJHRlc3RlciA+ IChpbnQpJHZhbHVlKSA/IHRydWUgOiBmYWxzZSkgOiAoKCR0ZXN0ZXIgPiAkdmFsdWUpID8g dHJ1ZSA6IGZhbHNlKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAnZ2UnOg0KCQkJCQkkcmVz dWx0ID0gKCRudW1lcmljKSA/ICgoY3R5cGVfZGlnaXQoKHN0cmluZykkdGVzdGVyKSAmJiBj dHlwZV9kaWdpdCgoc3RyaW5nKSR2YWx1ZSkgJiYgKGludCkkdGVzdGVyID49IChpbnQpJHZh bHVlKSA/IHRydWUgOiBmYWxzZSkgOiAoKCR0ZXN0ZXIgPj0gJHZhbHVlKSA/IHRydWUgOiBm YWxzZSk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJ2x0JzoNCgkJCQkJJHJlc3VsdCA9ICgk bnVtZXJpYykgPyAoKGN0eXBlX2RpZ2l0KChzdHJpbmcpJHRlc3RlcikgJiYgY3R5cGVfZGln aXQoKHN0cmluZykkdmFsdWUpICYmIChpbnQpJHRlc3RlciA8IChpbnQpJHZhbHVlKSA/IHRy dWUgOiBmYWxzZSkgOiAoKCR0ZXN0ZXIgPCAkdmFsdWUpID8gdHJ1ZSA6IGZhbHNlKTsNCgkJ CQkJYnJlYWs7DQoJCQkJY2FzZSAnbGUnOg0KCQkJCQkkcmVzdWx0ID0gKCRudW1lcmljKSA/ ICgoY3R5cGVfZGlnaXQoKHN0cmluZykkdGVzdGVyKSAmJiBjdHlwZV9kaWdpdCgoc3RyaW5n KSR2YWx1ZSkgJiYgKGludCkkdGVzdGVyIDw9IChpbnQpJHZhbHVlKSA/IHRydWUgOiBmYWxz ZSkgOiAoKCR0ZXN0ZXIgPD0gJHZhbHVlKSA/IHRydWUgOiBmYWxzZSk7DQoJCQkJCWJyZWFr Ow0KCQkJCWNhc2UgJ2RpdmlzaWJsZSc6DQoJCQkJCSRyZXN1bHQgPSAoY3R5cGVfZGlnaXQo KHN0cmluZykkdGVzdGVyKSAmJiBjdHlwZV9kaWdpdCgoc3RyaW5nKSR2YWx1ZSkgJiYgKGlu dCkkdGVzdGVyID4gMCAmJiAoaW50KSR0ZXN0ZXIgJSAoaW50KSR2YWx1ZSA9PT0gMCkgPyB0 cnVlIDogZmFsc2U7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJ2JlZ2lucyc6DQoJCQkJCSRy ZXN1bHQgPSAoc3RycG9zKCR0ZXN0ZXIsICR2YWx1ZSkgPT09IDApID8gdHJ1ZSA6IGZhbHNl Ow0KCQkJCQlicmVhazsNCgkJCQljYXNlICdjb250YWlucyc6DQoJCQkJCSRyZXN1bHQgPSAo c3RycG9zKCR0ZXN0ZXIsICR2YWx1ZSkgIT09IGZhbHNlKSA/IHRydWUgOiBmYWxzZTsNCgkJ CQkJYnJlYWs7DQoJCQkJY2FzZSAnZW5kcyc6DQoJCQkJCSRyZXN1bHQgPSAoc3Vic3RyKCR0 ZXN0ZXIsIHN0cmxlbigkdGVzdGVyKSAtIHN0cmxlbigkdmFsdWUpKSA9PT0gJHZhbHVlKSA/ IHRydWUgOiBmYWxzZTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAnaXNudW0nOg0KCQkJCQkk cmVzdWx0ID0gKGN0eXBlX2RpZ2l0KChzdHJpbmcpJHRlc3RlcikpID8gdHJ1ZSA6IGZhbHNl Ow0KCQkJCQlicmVhazsNCgkJCQljYXNlICdpc2FscGhhJzoNCgkJCQkJJHJlc3VsdCA9IChj dHlwZV9hbHBoYSgoc3RyaW5nKSR0ZXN0ZXIpKSA/IHRydWUgOiBmYWxzZTsNCgkJCQkJYnJl YWs7DQoJCQkJY2FzZSAnaXNhbG51bSc6DQoJCQkJCSRyZXN1bHQgPSAoY3R5cGVfYWxudW0o KHN0cmluZykkdGVzdGVyKSkgPyB0cnVlIDogZmFsc2U7DQoJCQkJCWJyZWFrOw0KCQkJCWNh c2UgJ2lzbG93ZXInOg0KCQkJCQkkcmVzdWx0ID0gKGN0eXBlX2xvd2VyKChzdHJpbmcpJHRl c3RlcikpID8gdHJ1ZSA6IGZhbHNlOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICdpc3VwcGVy JzoNCgkJCQkJJHJlc3VsdCA9IChjdHlwZV91cHBlcigoc3RyaW5nKSR0ZXN0ZXIpKSA/IHRy dWUgOiBmYWxzZTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAnaXNwdW5jdCc6DQoJCQkJCSRy ZXN1bHQgPSAoY3R5cGVfcHVuY3QoKHN0cmluZykkdGVzdGVyKSkgPyB0cnVlIDogZmFsc2U7 DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJ2lzc3BhY2UnOg0KCQkJCQkkcmVzdWx0ID0gKGN0 eXBlX3NwYWNlKChzdHJpbmcpJHRlc3RlcikpID8gdHJ1ZSA6IGZhbHNlOw0KCQkJCQlicmVh azsNCgkJCQljYXNlICdlbXB0eSc6DQoJCQkJCSRyZXN1bHQgPSAoJHRlc3RlciA9PSAnJykg PyB0cnVlIDogZmFsc2U7DQoJCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoJCSRzbWRfY2FzZV90 cnVlID0gKCRyZXN1bHQpID8gdHJ1ZSA6ICRzbWRfY2FzZV90cnVlOw0KCQlpZiAoJGRlYnVn IHx8ICRzbWRfc3dpdGNoX2RlYnVnKSB7DQoJCQllY2hvICcgUkVTVUxUOiAnIC4gKCgkcmVz dWx0KSA/ICdUUlVFJyA6ICdGQUxTRScgKSAuICc8YnIgLz4nOw0KCQl9DQoNCgkJaWYgKCgk cmVzdWx0IHx8ICRzbWRfbXVsdGlfY2FzZSkgJiYgISRmYWxsdGhydSkgew0KCQkJJHNtZF9i eXBhc3MgPSAxOw0KCQl9DQoJCWlmICgkdGhpbmcpIHsNCgkJCSRyZXQgPSAkcmVzdWx0IHx8 ICRzbWRfbXVsdGlfY2FzZTsNCgkJCSRyZXBsYWNlbWVudHNbJ3snLiRzbWRfdmFyX3ByZWZp eC4nY2FzZX0nXSA9ICRyZXBsYWNlbWVudHNbJ3snLiRzbWRfdmFyX3ByZWZpeC4nbWNfdmFs dWV9J10gPSAoJHJlc3VsdCkgPyAkdmFsdWUgOiAkc21kX21jX3ZhbDsNCgkJCWlmICgkZGVi dWcgPiAxIHx8ICRzbWRfc3dpdGNoX2RlYnVnID4gMSkgew0KCQkJCWVjaG8gJysrIFJFUExB Q0VNRU5UUyArKyc7DQoJCQkJZG1wKCRyZXBsYWNlbWVudHMpOw0KCQkJfQ0KCQkJJHNtZF9t dWx0aV9jYXNlID0gZmFsc2U7DQoJCQlyZXR1cm4gcGFyc2UoRXZhbEVsc2Uoc3RydHIoJHRo aW5nLCAkcmVwbGFjZW1lbnRzKSwgJHJldCkpOw0KCQl9IGVsc2Ugew0KCQkJJHNtZF9tdWx0 aV9jYXNlID0gKCRyZXN1bHQpID8gdHJ1ZSA6ICRzbWRfbXVsdGlfY2FzZTsNCgkJCSRzbWRf bWNfdmFsID0gKCRyZXN1bHQpID8gJHZhbHVlIDogJHNtZF9tY192YWw7DQoJCX0NCgl9IGVs c2Ugew0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KfQ0KDQovLyBMb29rIGluIHRoZSBnaXZlbiAk aW4gcGxhY2VzIGZvciBhIHZhbHVlIGZyb20gYSAnPycgdmFyaWFibGUgJGl0ZW0NCmZ1bmN0 aW9uIHNtZF9tY19wYXJzZSgkaXRlbSwgJGluLCAkbXQ9JzEnKSB7DQoJZ2xvYmFsICRwcmV0 ZXh0LCAkdGhpc2FydGljbGUsICR0aGlzaW1hZ2UsICR0aGlzZmlsZSwgJHRoaXNsaW5rLCAk dmFyaWFibGU7DQoNCgkkaW4gPSAoJGluID09ICJTTURfQUxMIikgPyAidHhwdmFyLCBzdnJ2 YXIsIGltYWdlLCBmaWxlLCBsaW5rLCBnYmwsIGFydGljbGUsIHVybHZhciwgcGhwdmFyIiA6 ICRpbjsNCgkkbG9va2luID0gZG9fbGlzdCgkaW4pOw0KDQoJJG1vZFJFID0gJy8oXD8pKFtB LVphLXowLTlfXC0gXSspLyc7DQoJJG51bU1vZHMgPSBwcmVnX21hdGNoX2FsbCgkbW9kUkUs ICRpdGVtLCAkbW9kcyk7DQoNCglmb3IgKCRtb2RDdHIgPSAwOyAkbW9kQ3RyIDwgJG51bU1v ZHM7ICRtb2RDdHIrKykgew0KCQkkbW9kQ2hhciA9ICRtb2RzWzFdWyRtb2RDdHJdOw0KCQkk bW9kSXRlbSA9IHRyaW0oJG1vZHNbMl1bJG1vZEN0cl0pOw0KCQkkbG93aXRlbSA9IHN0cnRv bG93ZXIoJG1vZEl0ZW0pOw0KDQoJCWlmIChpbl9hcnJheSgidHhwdmFyIiwgJGxvb2tpbikg JiYgaXNzZXQoJHZhcmlhYmxlWyRsb3dpdGVtXSkpIHsNCgkJCSRpdGVtID0gc3RyX3JlcGxh Y2UoJG1vZENoYXIuJG1vZEl0ZW0sICR2YXJpYWJsZVskbG93aXRlbV0sICRpdGVtKTsNCgkJ fSBlbHNlIGlmIChpbl9hcnJheSgic3ZydmFyIiwgJGxvb2tpbikgJiYgc2VydmVyU2V0KCRt b2RJdGVtKSAhPSAnJykgew0KCQkJJGl0ZW0gPSBzdHJfcmVwbGFjZSgkbW9kQ2hhci4kbW9k SXRlbSwgZG9TbGFzaChzZXJ2ZXJTZXQoJG1vZEl0ZW0pKSwgJGl0ZW0pOw0KCQl9IGVsc2Ug aWYgKGluX2FycmF5KCJpbWFnZSIsICRsb29raW4pICYmIGlzc2V0KCR0aGlzaW1hZ2VbJGxv d2l0ZW1dKSAmJiAhZW1wdHkoJHRoaXNpbWFnZVskbG93aXRlbV0pKSB7DQoJCQkkaXRlbSA9 IHN0cl9yZXBsYWNlKCRtb2RDaGFyLiRtb2RJdGVtLCAkdGhpc2ltYWdlWyRsb3dpdGVtXSwg JGl0ZW0pOw0KCQl9IGVsc2UgaWYgKGluX2FycmF5KCJmaWxlIiwgJGxvb2tpbikgJiYgaXNz ZXQoJHRoaXNmaWxlWyRsb3dpdGVtXSkgJiYgIWVtcHR5KCR0aGlzZmlsZVskbG93aXRlbV0p KSB7DQoJCQkkaXRlbSA9IHN0cl9yZXBsYWNlKCRtb2RDaGFyLiRtb2RJdGVtLCAkdGhpc2Zp bGVbJGxvd2l0ZW1dLCAkaXRlbSk7DQoJCX0gZWxzZSBpZiAoaW5fYXJyYXkoImxpbmsiLCAk bG9va2luKSAmJiBpc3NldCgkdGhpc2xpbmtbJGxvd2l0ZW1dKSAmJiAhZW1wdHkoJHRoaXNs aW5rWyRsb3dpdGVtXSkpIHsNCgkJCSRpdGVtID0gc3RyX3JlcGxhY2UoJG1vZENoYXIuJG1v ZEl0ZW0sICR0aGlzbGlua1skbG93aXRlbV0sICRpdGVtKTsNCgkJfSBlbHNlIGlmIChpbl9h cnJheSgiZ2JsIiwgJGxvb2tpbikgJiYgYXJyYXlfa2V5X2V4aXN0cygkbG93aXRlbSwgJHBy ZXRleHQpICYmICFlbXB0eSgkcHJldGV4dFskbG93aXRlbV0pKSB7DQoJCQkkaXRlbSA9IHN0 cl9yZXBsYWNlKCRtb2RDaGFyLiRtb2RJdGVtLCAkcHJldGV4dFskbG93aXRlbV0sICRpdGVt KTsNCgkJfSBlbHNlIGlmIChpbl9hcnJheSgiYXJ0aWNsZSIsICRsb29raW4pICYmIGlzc2V0 KCR0aGlzYXJ0aWNsZVskbG93aXRlbV0pICYmICFlbXB0eSgkdGhpc2FydGljbGVbJGxvd2l0 ZW1dKSkgew0KCQkJJGl0ZW0gPSBzdHJfcmVwbGFjZSgkbW9kQ2hhci4kbW9kSXRlbSwgJHRo aXNhcnRpY2xlWyRsb3dpdGVtXSwgJGl0ZW0pOw0KCQl9IGVsc2UgaWYgKGluX2FycmF5KCJ1 cmx2YXIiLCAkbG9va2luKSAmJiBncHMoJGxvd2l0ZW0pICE9ICcnKSB7DQoJCQkkaXRlbSA9 IHN0cl9yZXBsYWNlKCRtb2RDaGFyLiRtb2RJdGVtLCBkb1NsYXNoKGdwcygkbG93aXRlbSkp LCAkaXRlbSk7DQoJCX0gZWxzZSBpZiAoaW5fYXJyYXkoInBocHZhciIsICRsb29raW4pICYm IGlzc2V0KCRHTE9CQUxTWyRsb3dpdGVtXSkgJiYgIWVtcHR5KCRHTE9CQUxTWyRsb3dpdGVt XSkpIHsNCgkJCSRpdGVtID0gc3RyX3JlcGxhY2UoJG1vZENoYXIuJG1vZEl0ZW0sICRHTE9C QUxTWyRsb3dpdGVtXSwgJGl0ZW0pOw0KCQl9IGVsc2UgaWYgKCEkbXQpIHsNCgkJCSRpdGVt ID0gc3RyX3JlcGxhY2UoJG1vZENoYXIuJG1vZEl0ZW0sICRtb2RJdGVtLCAkaXRlbSk7DQoJ CX0gZWxzZSB7DQoJCQkkaXRlbSA9ICcnOw0KCQl9DQoJfQ0KCXJldHVybiAkaXRlbTsNCn0i O3M6NDoidHlwZSI7czoxOiIwIjtzOjU6Im9yZGVyIjtzOjE6IjUiO3M6NToiZmxhZ3MiO3M6 MToiMCI7czo0OiJoZWxwIjtzOjIwMTE3OiI8ZGl2IGlkPSJzbWRfaGVscCI+CgoJPGgxPnNt ZF9tdWx0aV9jaG9pY2U8L2gxPgoKCTxwPkEgZ2VuZXJpYyAmIzgyMTY7aWYgY29uZGl0aW9u JiM4MjE3OyB0ZXN0ZXIgdGhhdCBjYW4gdGFrZSBhY3Rpb24gaWYgc29tZSBhcnRpY2xlLCBm aWxlLCBsaW5rLCA8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPiwgPGNvZGU+Jmx0O3R4 cDp2YXJpYWJsZSAvJmd0OzwvY29kZT4gb3IgZ2xvYmFsIDxzcGFuIGNsYXNzPSJjYXBzIj5Q SFA8L3NwYW4+IHZhcmlhYmxlIG1hdGNoZXMgb25lIG9yIG1vcmUgdGVzdHMuIFRoZSBkaWZm ZXJlbmNlIGJldHdlZW4gdGhpcyBhbmQgc21kX2lmIGlzIHRoYXQgeW91IGRvIG5vdCBuZWVk IHRvIG5lc3Qgc3VjY2Vzc2l2ZSB0ZXN0cyBiZWNhdXNlIGl0IHBlcmZvcm1zIGNvbXBhcmlz b25zIHVzaW5nIGEgPGNvZGU+c3dpdGNoLi4uIGNhc2U8L2NvZGU+IGNvbnN0cnVjdC48L3A+ CgoJPGgyPkZlYXR1cmVzPC9oMj4KCgk8dWw+CgkJPGxpPlN1cHBvcnRzIGFsbCBtYWpvciBh cnRpY2xlLCBmaWxlLCBhbmQgbGluayB2YXJpYWJsZXMgc3VjaCBhcyBzZWN0aW9uLCBjYXRl Z29yeSwgY3VzdG9tIGZpZWxkcywgaWQsIHF1ZXJ5IHN0cmluZywgYXV0aG9yLCBib2R5LCBl eGNlcnB0LCB5YWhkZSB5YWhkZSwgcGx1cyBjaGVja2luZyB1cmwgdmFycywgc2VydmVyIHZh cnMsIHR4cCBhbmQgPHNwYW4gY2xhc3M9ImNhcHMiPlBIUDwvc3Bhbj4gdmFyczwvbGk+CgkJ PGxpPlRlc3RzIGluY2x1ZGUgZXF1YWxpdHksIGxlc3MgdGhhbiwgZ3JlYXRlciB0aGFuLCBk aXZpc2libGUgYnksIGJlZ2lucywgZW5kcywgY29udGFpbnMsIGFuZCAmIzgyMTY7Y2hhcmFj dGVyJiM4MjE3OyB0ZXN0cyBzdWNoIGlzIGlzYWxwaGEsIGlzbnVtLCBldGM8L2xpPgoJCTxs aT5UZXN0cyBjYW4gZWl0aGVyIHRlcm1pbmF0ZSB3aGVuIGEgbWF0Y2ggaXMgZm91bmQsIG9y ICYjODIyMDtmYWxsIHRocm91Z2gmIzgyMjE7IHRvIHRoZSBuZXh0IHRlc3QgKCYjODIyMDs8 c3BhbiBjbGFzcz0iY2FwcyI+QU5EPC9zcGFuPiYjODIyMTsgbG9naWMpPC9saT4KCQk8bGk+ TXVsdGlwbGUgdGVzdHMgY2FuIGhhdmUgdGhlIHNhbWUgb3V0Y29tZSAoJiM4MjIwO09SJiM4 MjIxOyBsb2dpYyk8L2xpPgoJCTxsaT5UaGUgdGVzdGVkIGZpZWxkICZhbXA7IG1hdGNoZWQg dmFsdWUgYXJlIDxhIGhyZWY9IiNyZXBsYWNlbWVudHMiPmF2YWlsYWJsZSB0byB0aGUgY2Fz ZSBjb250YWluZXI8L2E+IHNvIHlvdSBjYW4gZGlzcGxheSB0aGVtPC9saT4KCQk8bGk+RGVm YXVsdCBjb25kaXRpb24gaW4gdGhlIGV2ZW50IG5vIHRlc3QgY2FzZXMgbWF0Y2g8L2xpPgoJ PC91bD4KCgk8aDI+QXV0aG9yPC9oMj4KCgk8cD48YSBocmVmPSJodHRwOi8vc3RlZmRhd3Nv bi5jb20vY29tbWVudEZvcm0iPlN0ZWYgRGF3c29uPC9hPi48L3A+CgoJPGgyPkluc3RhbGxh dGlvbiAvIFVuaW5zdGFsbGF0aW9uPC9oMj4KCgk8cD5Eb3dubG9hZCB0aGUgcGx1Z2luIGZy b20gZWl0aGVyIDxhIGhyZWY9Imh0dHA6Ly90ZXh0cGF0dGVybi5vcmcvcGx1Z2lucy8xMDc3 L3NtZF9tdWx0aV9jaG9pY2UiPnRleHRwYXR0ZXJuLm9yZzwvYT4sIG9yIHRoZSA8YSBocmVm PSJodHRwOi8vc3RlZmRhd3Nvbi5jb20vc3ciPnNvZnR3YXJlIHBhZ2U8L2E+LCBwYXN0ZSB0 aGUgY29kZSBpbnRvIHRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiBBZG1pbiAt Jmd0OyBQbHVnaW5zIHBhbmUsIGluc3RhbGwgYW5kIGVuYWJsZSB0aGUgcGx1Z2luLiBWaXNp dCB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLnRleHRwYXR0ZXJuLmNvbS92aWV3dG9waWMu cGhwP2lkPTMwMzc2Ij5mb3J1bSB0aHJlYWQ8L2E+IGZvciBtb3JlIGluZm8gb3IgdG8gcmVw b3J0IG9uIHRoZSBzdWNjZXNzIG9yIG90aGVyd2lzZSBvZiB0aGUgcGx1Z2luLjwvcD4KCgk8 cD5UbyB1bmluc3RhbGwsIHNpbXBseSBkZWxldGUgZnJvbSB0aGUgQWRtaW4gLSZndDsgUGx1 Z2lucyBwYWdlLjwvcD4KCgk8aDI+VXNhZ2U8L2gyPgoKCTxwPlRoZSBwbHVnaW4gZ2l2ZXMg dHdvIHRhZ3Mgd2hpY2ggbXVzdCBiZSB1c2VkIGluIHRhbmRlbS4gVXNlIDxjb2RlPiZsdDt0 eHA6c21kX3N3aXRjaCAvJmd0OzwvY29kZT4gdG8gdGVsbCB0aGUgcGx1Z2luIHdoaWNoIDxj b2RlPml0ZW08L2NvZGU+IHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBjb21wYXJpbmcgYWdhaW5z dCBhbmQgdGhlbiB1c2Ugb25lIG9yIG1vcmUgPGNvZGU+Jmx0O3R4cDpzbWRfY2FzZSAvJmd0 OzwvY29kZT4gdGFncyBpbnNpZGUgdGhlIHN3aXRjaCB0byB0YWtlIGFjdGlvbiBkZXBlbmRp bmcgb24gdGhlIHZhbHVlLjwvcD4KCgk8cD5Vc2UgdGhlIHRhZ3MgaW4gYW55IHBhZ2UsIGZv cm0gb3IgYXJ0aWNsZSBjb250ZXh0LiBDYW4gYWxzbyBiZSB1c2VkIGluc2lkZSBmaWxlLCBp bWFnZSAoaW4gdGhlIGZ1dHVyZSkgb3IgbGluayBsaXN0cyB0byB0YWtlIGFjdGlvbiBkZXBl bmRpbmcgb24gYXR0cmlidXRlcyBvZiB0aGUgY3VycmVudCBpdGVtLjwvcD4KCgk8aDMgY2xh c3M9InRhZyI+c21kX3N3aXRjaDwvaDM+CgoJPHAgY2xhc3M9InRhZy1zdW1tYXJ5Ij5BdCB0 aGUgcGxhY2UgeW91IHdpc2ggdG8gY29tcGFyZSBhIGZpZWxkIHdpdGggYSBzZXQgb2YgdmFs dWVzLCBwdXQgdGhpcyBjb250YWluZXIgdGFnLjwvcD4KCgk8aDQgY2xhc3M9ImF0dHMiPkF0 dHJpYnV0ZXM8L2g0PgoKCTx1bD4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0dC1uYW1lIG1hbmQi Pml0ZW08L3NwYW4+IDogdGhlIHRoaW5nIHlvdSBhcmUgaW50ZXJlc3RlZCBpbi4gSXQgY291 bGQgYmUgdGhlIHJlc3VsdCBvZiBhbm90aGVyIHRhZy1pbi10YWcsIGEgZml4ZWQgc3RyaW5n KCEpLCBvciBhIHZhcmlhYmxlIGlmIHlvdSBwcmVmaXggdGhlIGl0ZW0gd2l0aCA8Y29kZT4/ PC9jb2RlPi4gRXhhbXBsZSB2YXJpYWJsZXMgYXJlIDxjb2RlPj9hcnRpY2xlX2ltYWdlPC9j b2RlPiwgPGNvZGU+P3VybF90aXRsZTwvY29kZT4sIDxjb2RlPj9teV90eHBfdmFyPC9jb2Rl PiwgPGNvZGU+P215X3VybF92YXI8L2NvZGU+LCBhbmQgc28gb248L2xpPgoJCTxsaT48c3Bh biBjbGFzcz0iYXR0LW5hbWUiPmxvb2tfaW48L3NwYW4+IDogbGlzdCBvZiBwbGFjZXMgdG8g bG9vayBmb3IgdGhlIDxjb2RlPml0ZW08L2NvZGU+LiBEZWZhdWx0OiA8Y29kZT5TTURfQUxM PC9jb2RlPiB3aGljaCBjaGVja3MgYWxsIGl0ZW1zIGluIHRoZSBmb2xsb3dpbmcgbGlzdCwg aW4gb3JkZXIuIFlvdSBzaG91bGQgbmV2ZXIgbmVlZCB0byBjaGFuZ2UgdGhpcywgYnV0IHlv dSBtYXkgY2hvb3NlIGZyb20gYW55IG9mIHRoZSBmb2xsb3dpbmcgYW5kIGNvbW1hLXNlcGFy YXRlIGVhY2ggb25lIHlvdSB3aXNoIHRvIGNvbnNpZGVyOgoJPHVsPgoJCTxsaT48c3BhbiBj bGFzcz0iYXR0LXZhbCI+dHhwdmFyPC9zcGFuPiA6IGEgPGNvZGU+Jmx0O3R4cDp2YXJpYWJs ZSAvJmd0OzwvY29kZT48L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXR0LXZhbCI+c3ZydmFy PC9zcGFuPiA6IHNvbWV0aGluZyBpbiA8Y29kZT4kX1NFUlZFUjwvY29kZT48L2xpPgoJCTxs aT48c3BhbiBjbGFzcz0iYXR0LXZhbCI+ZmlsZTwvc3Bhbj4gOiB2YXJpYWJsZSBmcm9tIHRo ZSBjdXJyZW50IGZpbGUgaW4gYSBmaWxlX2Rvd25sb2FkX2xpc3Q8L2xpPgoJCTxsaT48c3Bh biBjbGFzcz0iYXR0LXZhbCI+aW1hZ2U8L3NwYW4+IDogdmFyaWFibGUgZnJvbSB0aGUgY3Vy cmVudCBpbWFnZSBpbiBhbiBpbWFnZV9saXN0PC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0 dC12YWwiPmxpbms8L3NwYW4+IDogdmFyaWFibGUgZnJvbSB0aGUgY3VycmVudCBsaW5rIGlu IGEgbGlua2xpc3Q8L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXR0LXZhbCI+Z2JsPC9zcGFu PiA6IHZhcmlhYmxlIGZyb20gdGhlIGdsb2JhbCBhcnRpY2xlIGNvbnRleHQgKGEuay5hLiA8 Y29kZT4kcHJldGV4dDwvY29kZT4pPC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0dC12YWwi PmFydGljbGU8L3NwYW4+IDogdmFyaWFibGUgZnJvbSB0aGUgY3VycmVudCBhcnRpY2xlPC9s aT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0dC12YWwiPnVybHZhcjwvc3Bhbj4gOiBzb21ldGhp bmcgaW4gPGNvZGU+JF9HRVQ8L2NvZGU+IG9yIDxjb2RlPiRfUE9TVDwvY29kZT48L2xpPgoJ CTxsaT48c3BhbiBjbGFzcz0iYXR0LXZhbCI+cGhwdmFyPC9zcGFuPiA6IHNvbWV0aGluZyBp biB0aGUgZ2xvYmFsIHNjb3BlPC9saT4KCTwvdWw+PC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9 ImF0dC1uYW1lIj5sZWF2ZV9lbXB0eTwvc3Bhbj4gOiBpbiBtb3N0IGNhc2VzIGlmIGEgdmFy aWFibGUgaXMgbm90IHNldCB5b3Ugd2lsbCB3YW50IGl0IHRvIHJlbWFpbiB0aGF0IHdheSBz byB5b3VyIHN3aXRjaCB3aWxsIGRvIG5vdGhpbmcuIEJ1dCB5b3UgbWF5IGRlY2lkZSB0aGF0 IHlvdSB3YW50IHRoZSB2YXJpYWJsZSBuYW1lIGl0c2VsZiB0byBiZWNvbWUgdGhlIDxjb2Rl Pml0ZW08L2NvZGU+LCBpLmUuIGlmIHlvdSB1c2VkIDxjb2RlPml0ZW09JnF1b3Q7P3F1YW50 aXR5JnF1b3Q7PC9jb2RlPiBhbmQgdGhlcmUgd2FzIG5vICYjODIxNjtxdWFudGl0eSYjODIx NzsgdmFyaWFibGUgYW55d2hlcmUsIGl0IHdvdWxkIGNvbXBhcmUgYWdhaW5zdCB0aGUgYWN0 dWFsIHdvcmQgJiM4MjE2O3F1YW50aXR5JiM4MjE3Oy4gVGhpcyBtYXkgYmUgdXNlZnVsIHdo ZW4gc3BlY2lmeWluZyBkZWZhdWx0czwvbGk+CgkJPGxpPjxzcGFuIGNsYXNzPSJhdHQtbmFt ZSI+dmFyX3ByZWZpeDwvc3Bhbj4gOiBpZiB5b3UgYXJlIG5lc3Rpbmcgc21kX3N3aXRjaCB0 YWdzIHlvdSYjODIxNztsbCBmaW5kIHRoYXQgYW55IGlubmVyIDxjb2RlPntzbWRfbWNfdmFs dWV9PC9jb2RlPiByZXBsYWNlbWVudHMgd2lsbCB0YWtlIG9uIHRoZSB2YWx1ZXMgb2YgdGhl IG91dGVyIHRhZy4gRm9yIHRoaXMgcmVhc29uIHlvdSBjYW4gc3BlY2lmeSBhIHByZWZpeCB0 aGF0IHdpbGwgYmUgdXNlZCBpbiBhbGwgcmVwbGFjZW1lbnRzLiBUaHVzIGlmIHlvdSBzZXQg PGNvZGU+dmFyX3ByZWZpeD0mcXVvdDtpbl8mcXVvdDs8L2NvZGU+IG9uIHlvdXIgaW5uZXIg c21kX3N3aXRjaCB0YWcsIHlvdSB3b3VsZCB1c2UgPGNvZGU+e2luX21jX3ZhbHVlfTwvY29k ZT4gYW5kIDxjb2RlPntpbl9tY19pdGVtfTwvY29kZT4gaW4gdGhlIGlubmVyIGNvbnRhaW5l ci9mb3JtLiBEZWZhdWx0OiA8Y29kZT5zbWRfPC9jb2RlPjwvbGk+CgkJPGxpPjxzcGFuIGNs YXNzPSJhdHQtbmFtZSI+ZGVidWc8L3NwYW4+IDogc2V0IHRvIDEgdG8gdHVybiBvbiBkaWFn bm9zdGljIGluZm8gZm9yIGFsbCBjb250YWluZWQgc21kX2Nhc2UgdGFnczwvbGk+Cgk8L3Vs PgoKCTxoMyBjbGFzcz0idGFnIj5zbWRfY2FzZTwvaDM+CgoJPHAgY2xhc3M9InRhZy1zdW1t YXJ5Ij5JbnNpZGUgeW91ciA8Y29kZT4mbHQ7dHhwOnNtZF9zd2l0Y2gmZ3Q7PC9jb2RlPiBj b250YWluZXIgcHV0IG9uZSBvciBtb3JlIDxjb2RlPiZsdDt0eHA6c21kX2Nhc2UgLyZndDs8 L2NvZGU+IHRhZ3MgdG8gdGVzdCB0aGUgPGNvZGU+aXRlbTwvY29kZT4gYWdhaW5zdCBlYWNo IHN1Y2Nlc3NpdmUgdmFsdWUuIENhc2UgdGFncyBhcmUgdXN1YWxseSBjb250YWluZXJzIHRo YXQgd2lsbCBleGVjdXRlIHRoZSBlbmNsb3NlZCBjb250ZW50IGlmIHRoZSA8Y29kZT52YWx1 ZTwvY29kZT4gbWF0Y2hlcyB0aGUgPGNvZGU+aXRlbTwvY29kZT4sIGJ1dCBzZWUgPGEgaHJl Zj0iI2VnNCI+ZXhhbXBsZSA0PC9hPiBmb3IgdXNlIGFzIGEgc2VsZi1jbG9zaW5nIHRhZy48 L3A+CgoJPGg0IGNsYXNzPSJhdHRzIj5BdHRyaWJ1dGVzPC9oND4KCgk8dWw+CgkJPGxpPjxz cGFuIGNsYXNzPSJhdHQtbmFtZSI+dmFsdWU8L3NwYW4+IDogdGhlIHZhbHVlIHlvdSB3YW50 IHRvIGNoZWNrIGFnYWluc3QuIEl0IGNhbiBlaXRoZXIgYmUgYSBmaXhlZCB2YWx1ZSBvciBh bm90aGVyIGZpZWxkIGluIHRoZSBjdXJyZW50IGNvbnRleHQgKHNlZSB0aGUgPGNvZGU+Jmx0 O3R4cDpzbWRfc3dpdGNoIC8mZ3Q7PC9jb2RlPiB0YWcmIzgyMTc7cyA8Y29kZT5pdGVtPC9j b2RlPiBhdHRyaWJ1dGUgZm9yIGluZm8pLiBEZWZhdWx0OiB1bnNldDwvbGk+CgkJPGxpPjxz cGFuIGNsYXNzPSJhdHQtbmFtZSI+dHlwZTwvc3Bhbj4gOiB0aGUgdHlwZSBvZiB0ZXN0IHlv dSB3YW50IHRvIHBlcmZvcm06Cgk8dWw+CgkJPGxpPjxzcGFuIGNsYXNzPSJhdHQtdmFsIj5l cTwvc3Bhbj4gOiBFcXVhbGl0eSAodGhlIGRlZmF1bHQpPC9saT4KCQk8bGk+PHNwYW4gY2xh c3M9ImF0dC12YWwiPmd0PC9zcGFuPiA6IDxjb2RlPml0ZW08L2NvZGU+IGlzIGdyZWF0ZXIg dGhhbiA8Y29kZT52YWx1ZTwvY29kZT48L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXR0LXZh bCI+Z2U8L3NwYW4+IDogPGNvZGU+aXRlbTwvY29kZT4gaXMgZ3JlYXRlciB0aGFuIG9yIGVx dWFsIHRvIDxjb2RlPnZhbHVlPC9jb2RlPjwvbGk+CgkJPGxpPjxzcGFuIGNsYXNzPSJhdHQt dmFsIj5sdDwvc3Bhbj4gOiA8Y29kZT5pdGVtPC9jb2RlPiBpcyBsZXNzIHRoYW4gPGNvZGU+ dmFsdWU8L2NvZGU+PC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0dC12YWwiPmxlPC9zcGFu PiA6IDxjb2RlPml0ZW08L2NvZGU+IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byA8Y29kZT52 YWx1ZTwvY29kZT48L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXR0LXZhbCI+ZGl2aXNpYmxl PC9zcGFuPiA6IDxjb2RlPml0ZW08L2NvZGU+IGlzIHdob2xseSBkaXZpc2libGUgYnkgPGNv ZGU+dmFsdWU8L2NvZGU+PHN1cCBpZD0iZm5yZXYxOTk5NDQyMzA0YzU3NDRkMmQwNzliIiBj bGFzcz0iZm9vdG5vdGUiPjxhIGhyZWY9IiNmbjE5OTk0NDIzMDRjNTc0NGQyZDA3OWIiPjE8 L2E+PC9zdXA+PC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0dC12YWwiPmJlZ2luczwvc3Bh bj4gOiA8Y29kZT5pdGVtPC9jb2RlPiBzdGFydHMgd2l0aCA8Y29kZT52YWx1ZTwvY29kZT48 L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXR0LXZhbCI+Y29udGFpbnM8L3NwYW4+IDogPGNv ZGU+aXRlbTwvY29kZT4gaGFzIDxjb2RlPnZhbHVlPC9jb2RlPiBzb21ld2hlcmUgd2l0aGlu IGl0cyBjb250ZW50czwvbGk+CgkJPGxpPjxzcGFuIGNsYXNzPSJhdHQtdmFsIj5lbmRzPC9z cGFuPiA6IDxjb2RlPml0ZW08L2NvZGU+IGVuZHMgd2l0aCA8Y29kZT52YWx1ZTwvY29kZT48 L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXR0LXZhbCI+aXNudW08L3NwYW4+IDogPGNvZGU+ dmFsdWU8L2NvZGU+IGlzIG1hZGUgdXAgZW50aXJlbHkgb2YgZGlnaXRzPC9saT4KCQk8bGk+ PHNwYW4gY2xhc3M9ImF0dC12YWwiPmlzYWxwaGE8L3NwYW4+IDogPGNvZGU+dmFsdWU8L2Nv ZGU+IGlzIG1hZGUgdXAgZW50aXJlbHkgb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzPC9saT4K CQk8bGk+PHNwYW4gY2xhc3M9ImF0dC12YWwiPmlzYWxudW08L3NwYW4+IDogPGNvZGU+dmFs dWU8L2NvZGU+IGlzIG1hZGUgdXAgZW50aXJlbHkgb2YgYWxwaGFudW1lcmljIGNoYXJhY3Rl cnM8L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXR0LXZhbCI+aXNsb3dlcjwvc3Bhbj4gOiA8 Y29kZT52YWx1ZTwvY29kZT4gaXMgbWFkZSB1cCBlbnRpcmVseSBvZiBsb3dlciBjYXNlIGNo YXJhY3RlcnM8c3VwIGlkPSJmbnJldjE3NTg1NzIxNTY0YzU3NDRkMmQwYjg0IiBjbGFzcz0i Zm9vdG5vdGUiPjxhIGhyZWY9IiNmbjE3NTg1NzIxNTY0YzU3NDRkMmQwYjg0Ij4yPC9hPjwv c3VwPjwvbGk+CgkJPGxpPjxzcGFuIGNsYXNzPSJhdHQtdmFsIj5pc3VwcGVyPC9zcGFuPiA6 IDxjb2RlPnZhbHVlPC9jb2RlPiBpcyBtYWRlIHVwIGVudGlyZWx5IG9mIHVwcGVyIGNhc2Ug Y2hhcmFjdGVyczxzdXAgY2xhc3M9ImZvb3Rub3RlIj48YSBocmVmPSIjZm4xNzU4NTcyMTU2 NGM1NzQ0ZDJkMGI4NCI+MjwvYT48L3N1cD48L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXR0 LXZhbCI+aXNwdW5jdDwvc3Bhbj4gOiA8Y29kZT52YWx1ZTwvY29kZT4gaXMgbWFkZSB1cCBl bnRpcmVseSBvZiBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzPC9saT4KCQk8bGk+PHNwYW4gY2xh c3M9ImF0dC12YWwiPmlzc3BhY2U8L3NwYW4+IDogPGNvZGU+dmFsdWU8L2NvZGU+IGlzIG1h ZGUgdXAgZW50aXJlbHkgb2YgJiM4MjE2O3doaXRlc3BhY2UmIzgyMTc7IGNoYXJhY3RlcnM8 L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXR0LXZhbCI+ZW1wdHk8L3NwYW4+IDogPGNvZGU+ aXRlbTwvY29kZT4gaXMgZW1wdHkgKGkuZS4gaGFzIG5vIGNvbnRlbnQpICYjODIxMjsgc2lt aWxhciB0byA8Y29kZT52YWx1ZT0mcXVvdDsmcXVvdDs8L2NvZGU+PC9saT4KCTwvdWw+PC9s aT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0dC1uYW1lIj5sb29rX2luPC9zcGFuPiA6IGV4YWN0 bHkgdGhlIHNhbWUgb3B0aW9ucyBhcyBmb3Igc21kX3N3aXRjaCBleGNlcHQgdGhleSBhcHBs eSB0byB0aGUgPGNvZGU+dmFsdWU8L2NvZGU+IGF0dHJpYnV0ZTwvbGk+CgkJPGxpPjxzcGFu IGNsYXNzPSJhdHQtbmFtZSI+bGVhdmVfZW1wdHk8L3NwYW4+IDogZXhhY3RseSB0aGUgc2Ft ZSBiZWhhdmlvdXIgZm9yIHNtZF9zd2l0Y2ggZXhjZXB0IGl0IGFwcGxpZXMgdG8gdGhlIDxj b2RlPnZhbHVlPC9jb2RlPiBhdHRyaWJ1dGU8L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXR0 LW5hbWUiPmNhc2Vfc2Vuc2l0aXZlPC9zcGFuPiA6IHdoZXRoZXIgeW91IHdpc2ggdG8gdGFr ZSBjYXNlIGludG8gYWNjb3VudCB3aGVuIGNvbXBhcmUgPGNvZGU+aXRlbTwvY29kZT4gYW5k IDxjb2RlPnZhbHVlPC9jb2RlPjsgMT15ZXMsIDA9bm8uIERlZmF1bHQ6IDA8L2xpPgoJCTxs aT48c3BhbiBjbGFzcz0iYXR0LW5hbWUiPm51bWVyaWM8L3NwYW4+IDogd2hldGhlciB5b3Ug d2lzaCB0byBjb21wYXJlIHRoZSB2YWx1ZXMgbnVtZXJpY2FsbHkgKDEpIGluc3RlYWQgb2Yg YWxwaGEtbnVtZXJpY2FsbHkgKDApLiBVc2VmdWwgd2hlbiBjb21wYXJpbmcgbnVtYmVycyBi ZWNhdXNlICYjODIxNjtmJiM4MjE3OyBpcyBhY3R1YWxseSBncmVhdGVyIHRoYW4gJiM4MjE2 OzEmIzgyMTc7IGluIHRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+QVNDSUk8L3NwYW4+IHRhYmxl LiBEZWZhdWx0OiAwLiBOb3RlIHRoYXQgYSBudW1lcmljIHRlc3QgaXMgaW1wbGllZCBpZiB1 c2luZyA8Y29kZT50eXBlPSZxdW90O2RpdmlzaWJsZSZxdW90OzwvY29kZT48L2xpPgoJCTxs aT48c3BhbiBjbGFzcz0iYXR0LW5hbWUiPmZhbGx0aHJ1PC9zcGFuPiA6IHVuZGVyIG5vcm1h bCBjaXJjdW1zdGFuY2VzLCB3aGVuIG9uZSBvZiB0aGUgdGVzdHMgbWF0Y2hlcyBhbnkgZnVy dGhlciB0ZXN0cyBhcmUgaWdub3JlZC4gVGh1cyB0aGUgPGVtPm9yZGVyIG9mIHRoZSB0ZXN0 cyBpcyBpbXBvcnRhbnQ8L2VtPi4gU29tZXRpbWVzIHlvdSBtYXkgd2lzaCB0byB0YWtlIG1v cmUgdGhhbiBvbmUgYWN0aW9uLCBlLmcuIGlmIHRoZSBpdGVtIGlzIGdyZWF0ZXIgdGhhbiB2 YWx1ZTEgdGhlbiBkaXNwbGF5IHNvbWV0aGluZywgYW5kIGFsc28gZGlzcGxheSBzb21ldGhp bmcgZWxzZSBpZiBpdCBiZWdpbnMgd2l0aCB2YWx1ZTIuIFRoaXMgdHlwZSBvZiAmIzgyMjA7 PHNwYW4gY2xhc3M9ImNhcHMiPkFORDwvc3Bhbj4mIzgyMjE7IGNvbmRpdGlvbiBpcyBhY2hp ZXZlZCBieSBzZXR0aW5nIDxjb2RlPmZhbGx0aHJ1PSZxdW90OzEmcXVvdDs8L2NvZGU+LiBJ biB0aGUgZXZlbnQgdGhlIGNhc2UgbWF0Y2hlcyB0aGlzIGNvbmRpdGlvbiwgdGhlIG5leHQg Y2FzZSB0YWcgd2lsbCBzdGlsbCBiZSBjaGVja2VkLiBGb3IgJiM4MjIwO09SJiM4MjIxOyBj b25kaXRpb25zLCBzZWUgPGEgaHJlZj0iI2VnNCI+ZXhhbXBsZSA0PC9hPjwvbGk+CgkJPGxp PjxzcGFuIGNsYXNzPSJhdHQtbmFtZSI+ZGVmYXVsdDwvc3Bhbj4gOiBpbnNpZGUgYW55IHN3 aXRjaCwgb25lIGFuZCBvbmx5IG9uZSBvZiB5b3VyIGNhc2UgdGFncyBjYW4gYmUgZGVzaWdu YXRlZCBhICYjODIxNjtkZWZhdWx0JiM4MjE3OyBieSBzZXR0aW5nIHRoaXMgYXR0cmlidXRl IHRvIDEuIFRoaXMgZGVmYXVsdCBicmFuY2ggd2lsbCBiZSB0YWtlbiBpZiBub25lIG9mIHRo ZSBwcmVjZWRpbmcgY2FzZSB0YWdzIG1hdGNoIGFueXRoaW5nLiBJdCBpcyB1c3VhbGx5IHRo ZSBsYXN0IHRhZyBpbiBhIHN3aXRjaC4gRGVmYXVsdDogMDwvbGk+CgkJPGxpPjxzcGFuIGNs YXNzPSJhdHQtbmFtZSI+ZGVidWc8L3NwYW4+IDogc2V0IHRvIDEgdG8gc2hvdyBkaWFnbm9z aXRjIGluZm9ybWF0aW9uIGZvciB0aGlzIGNhc2UgdGFnIG9ubHkuIERlZmF1bHQ6IDA8L2xp PgoJPC91bD4KCgk8cCBpZD0iZm4xOTk5NDQyMzA0YzU3NDRkMmQwNzliIiBjbGFzcz0iZm9v dG5vdGUiPjxzdXA+MTwvc3VwPiBUaGlzIHRlc3QgZm9yY2VzICYjODIxNjtudW1lcmljJiM4 MjE3OyBvbiBhdXRvbXRpY2FsbHkuIEFsc28sIDAgaXMgcmVnYXJkZWQgYXMgPGVtPm5vdDwv ZW0+IHdob2xseSBkaXZpc2libGUgYnkgYW55IHZhbHVlPC9wPgoKCTxwIGlkPSJmbjE3NTg1 NzIxNTY0YzU3NDRkMmQwYjg0IiBjbGFzcz0iZm9vdG5vdGUiPjxzdXA+Mjwvc3VwPiBjYXNl X3NlbnNpdGl2ZSBpcyBhdXRvbWF0aWNhbGx5IHNldCB0byAxIGZvciB0aGVzZSB0ZXN0czwv cD4KCgk8aDIgaWQ9InJlcGxhY2VtZW50cyI+UmVwbGFjZW1lbnQgdmFyaWFibGVzPC9oMj4K Cgk8cD5Tb21lIHJlcGxhY2VtZW50IHZhcmlhYmxlcyBhcmUgYXZhaWxhYmxlIHdpdGhpbiB0 aGUgPGNvZGU+Jmx0O3R4cDpzbWRfY2FzZSZndDs8L2NvZGU+IGNvbnRhaW5lciBzbyB5b3Ug bWF5IG91dHB1dCB0aGUgbWF0Y2hlZCB2YWx1ZXMgZGlyZWN0bHksIGZvciBleGFtcGxlLCBp biBlcnJvciBtZXNzYWdlczo8L3A+CgoJPG9sPgoJCTxsaT48Y29kZT57c21kX21jX2l0ZW19 PC9jb2RlPiAob3IgPGNvZGU+e3NtZF9zd2l0Y2h9PC9jb2RlPik6IHRoZSB2YWx1ZSBvZiB0 aGUgc3dpdGNoIDxjb2RlPml0ZW08L2NvZGU+IGJlaW5nIGxvb2tlZCBhdDwvbGk+CgkJPGxp Pjxjb2RlPntzbWRfbWNfdmFsdWV9PC9jb2RlPiAob3IgPGNvZGU+e3NtZF9jYXNlfTwvY29k ZT4pOiB0aGUgdmFsdWUgb2YgdGhlIGNhc2UgPGNvZGU+dmFsdWU8L2NvZGU+IHRoYXQgbWF0 Y2hlZCB0aGUgPGNvZGU+aXRlbTwvY29kZT48L2xpPgoJPC9vbD4KCgk8cD5XaGVuIHRlc3Rp bmcgbW9yZSB0aGFuIG9uZSB2YWx1ZSB0byBwcm9kdWNlIGEgc2luZ2xlIG91dGNvbWUsIHRo ZSA8ZW0+bW9zdCByZWNlbnQ8L2VtPiB2YWx1ZSB0aGF0IG1hdGNoZXMgaXMgdGhlIG9uZSBh c3NpZ25lZCB0byB0aGUgcmVwbGFjZW1lbnQgdmFyaWFibGUuIE5vdGUgdGhhdCB0aGUgPGNv ZGU+c21kXzwvY29kZT4gcGFydCBpcyB0aGUgZGVmYXVsdCBzZXR0aW5nIGFuZCBtYXkgYmUg Y2hhbmdlZCB3aXRoIHRoZSA8Y29kZT52YXJfcHJlZml4PC9jb2RlPiBhdHRyaWJ1dGUuPC9w PgoKCTxoMiBpZD0iZXhhbXBsZXMiPkV4YW1wbGVzPC9oMj4KCgk8aDMgaWQ9ImVnMSI+RXhh bXBsZSAxPC9oMz4KCgk8cD5PbiB5b3VyIGVycm9yX2RlZmF1bHQgcGFnZSB5b3UgY291bGQg cHV0IHRoaXM6PC9wPgoKPHByZSBjbGFzcz0iYmxvY2siPjxjb2RlIGNsYXNzPSJibG9jayI+ Jmx0O3R4cDpzbWRfc3dpdGNoIGl0ZW09JnF1b3Q7P3R4cF9lcnJvcl9jb2RlJnF1b3Q7Jmd0 OwogICAmbHQ7dHhwOnNtZF9jYXNlIHZhbHVlPSZxdW90OzQwMyZxdW90OyZndDsKICAgICAg Jmx0O3AmZ3Q7Rm9yYmlkZGVuIGFjY2Vzcy4gQ29kZTogNDAzJmx0Oy9wJmd0OwogICAmbHQ7 L3R4cDpzbWRfY2FzZSZndDsKICAgJmx0O3R4cDpzbWRfY2FzZSB2YWx1ZT0mcXVvdDs0MDQm cXVvdDsmZ3Q7CiAgICAgICZsdDtwJmd0O1BhZ2Ugbm90IGZvdW5kLiBDb2RlOiA0MDQmbHQ7 L3AmZ3Q7CiAgICZsdDsvdHhwOnNtZF9jYXNlJmd0OwogICAmbHQ7dHhwOnNtZF9jYXNlIHZh bHVlPSZxdW90OzUwMCZxdW90OyZndDsKICAgICAgJmx0O3AmZ3Q7U29tZXRoaW5nIHdlbnQg aG9ycmlibHkgd3JvbmcuIENvZGU6IDUwMCZsdDsvcCZndDsKICAgJmx0Oy90eHA6c21kX2Nh c2UmZ3Q7CiAgICZsdDt0eHA6c21kX2Nhc2UgZGVmYXVsdD0mcXVvdDsxJnF1b3Q7Jmd0Owog ICAgICAmbHQ7cCZndDtXaG9vcHMhIEVycm9yIGNvZGU6IHtzbWRfbWNfaXRlbX0gb2NjdXJy ZWQmbHQ7L3AmZ3Q7CiAgICZsdDsvdHhwOnNtZF9jYXNlJmd0OwombHQ7L3R4cDpzbWRfc3dp dGNoJmd0Owo8L2NvZGU+PC9wcmU+CgoJPGgzIGlkPSJlZzIiPkV4YW1wbGUgMjwvaDM+CgoJ PHA+VGVzdCBzb21lIHZhbHVlIG9idGFpbmVkIGZyb20gcHVibGljLXNpZGUgZm9ybSBpbnB1 dDo8L3A+Cgo8cHJlIGNsYXNzPSJibG9jayI+PGNvZGUgY2xhc3M9ImJsb2NrIj4mbHQ7dHhw OnNtZF9zd2l0Y2ggaXRlbT0mcXVvdDs/cXVhbnRpdHkmcXVvdDsgbG9va19pbj0mcXVvdDt1 cmx2YXImcXVvdDsmZ3Q7CiAgICZsdDt0eHA6c21kX2Nhc2UgdmFsdWU9JnF1b3Q7MiZxdW90 OyB0eXBlPSZxdW90O2x0JnF1b3Q7CiAgICAgICAgbnVtZXJpYz0mcXVvdDsxJnF1b3Q7Jmd0 OwogICAgICAmbHQ7cCZndDtWYWx1ZSB7c21kX3N3aXRjaH0gaXMgdG9vIHNtYWxsJmx0Oy9w Jmd0OwogICAmbHQ7L3R4cDpzbWRfY2FzZSZndDsKICAgJmx0O3R4cDpzbWRfY2FzZSB2YWx1 ZT0mcXVvdDsyMCZxdW90OyB0eXBlPSZxdW90O2d0JnF1b3Q7CiAgICAgICAgbnVtZXJpYz0m cXVvdDsxJnF1b3Q7Jmd0OwogICAgICAmbHQ7cCZndDtWYWx1ZSB7c21kX3N3aXRjaH0gaXMg dG9vIGxhcmdlJmx0Oy9wJmd0OwogICAmbHQ7L3R4cDpzbWRfY2FzZSZndDsKJmx0Oy90eHA6 c21kX3N3aXRjaCZndDsKPC9jb2RlPjwvcHJlPgoKCTxoMyBpZD0iZWczIj5FeGFtcGxlIDM8 L2gzPgoKCTxwPkJ1aWxkaW5nIG9uIDxhIGhyZWY9IiNlZzIiPmV4YW1wbGUgMjwvYT4sIHRo aXMgcnVucyB0aGUgMm5kIGFuZCAzcmQgdGVzdHMgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRo ZSAybmQgb25lIHJldHVybmVkIHRydWUuIEl0IGFsc28gYWRkcyBhIGNoZWNrIHRvIHNlZSBp ZiB0aGUgPGNvZGU+cXVhbnRpdHk8L2NvZGU+IDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8L3Nw YW4+IHZhcmlhYmxlIGlzIHNldCBhdCBhbGwgYW5kIGlzc3VlcyBhIHdhcm5pbmcgb2Ygbm90 IChhbiBlbXB0eSA8Y29kZT4mbHQ7dHhwOnNtZF9jYXNlJmd0OzwvY29kZT4gaXMgdGhlIHNh bWUgYXMgPGNvZGU+Jmx0O3R4cDpzbWRfY2FzZSB2YWx1ZT0mcXVvdDsmcXVvdDsmZ3Q7PC9j b2RlPik8L3A+Cgo8cHJlIGNsYXNzPSJibG9jayI+PGNvZGUgY2xhc3M9ImJsb2NrIj4mbHQ7 dHhwOnNtZF9zd2l0Y2ggaXRlbT0mcXVvdDs/cXVhbnRpdHkmcXVvdDsgbG9va19pbj0mcXVv dDt1cmx2YXImcXVvdDsmZ3Q7CiAgICZsdDt0eHA6c21kX2Nhc2UmZ3Q7CiAgICAgIFBsZWFz ZSBzdXBwbHkgYSBxdWFudGl0eSZsdDticiAvJmd0OwogICAmbHQ7L3R4cDpzbWRfY2FzZSZn dDsKICAgJmx0O3R4cDpzbWRfY2FzZSB2YWx1ZT0mcXVvdDsyJnF1b3Q7IHR5cGU9JnF1b3Q7 bHQmcXVvdDsKICAgICAgICBudW1lcmljPSZxdW90OzEmcXVvdDsmZ3Q7CiAgICAgIFZhbHVl IHtzbWRfc3dpdGNofSBpcyB0b28gc21hbGwmbHQ7YnIgLyZndDsKICAgJmx0Oy90eHA6c21k X2Nhc2UmZ3Q7CiAgICZsdDt0eHA6c21kX2Nhc2UgdmFsdWU9JnF1b3Q7MjAmcXVvdDsgdHlw ZT0mcXVvdDtndCZxdW90OwogICAgICAgIG51bWVyaWM9JnF1b3Q7MSZxdW90OyBmYWxsdGhy dT0mcXVvdDsxJnF1b3Q7Jmd0OwogICAgICBWYWx1ZSB7c21kX3N3aXRjaH0gaXMgdG9vIGxh cmdlJmx0O2JyIC8mZ3Q7CiAgICZsdDsvdHhwOnNtZF9jYXNlJmd0OwogICAmbHQ7dHhwOnNt ZF9jYXNlIHZhbHVlPSZxdW90OzEwMCZxdW90OyB0eXBlPSZxdW90O2d0JnF1b3Q7CiAgICAg ICAgbnVtZXJpYz0mcXVvdDsxJnF1b3Q7Jmd0OwogICAgICAuLi4gYW5kIG91dCBvZiB0aGlz IHdvcmxkISZsdDticiAvJmd0OwogICAmbHQ7L3R4cDpzbWRfY2FzZSZndDsKICAgJmx0O3R4 cDpzbWRfY2FzZSBkZWZhdWx0PSZxdW90OzEmcXVvdDsmZ3Q7CiAgICAgIEV2ZXJ5dGhpbmcm IzM5O3MgZmluZQogICAmbHQ7L3R4cDpzbWRfY2FzZSZndDsKJmx0Oy90eHA6c21kX3N3aXRj aCZndDsKPC9jb2RlPjwvcHJlPgoKCTxwPlRodXMsIHlvdSBzZWUgdGhlIGZvbGxvd2luZyBp ZiB5b3UgYWRkIHRoZXNlIHZhbHVlcyB0byB0aGUgYWRkcmVzcyBiYXI6PC9wPgoKCTx1bD4K CQk8bGk+PGNvZGU+P3F1YW50aXR5PTE8L2NvZGU+IDogVmFsdWUgMSBpcyB0b28gc21hbGw8 L2xpPgoJCTxsaT48Y29kZT4/cXVhbnRpdHk9MTU8L2NvZGU+IDogRXZlcnl0aGluZyYjODIx NztzIGZpbmU8L2xpPgoJCTxsaT48Y29kZT4/cXVhbnRpdHk9MjU8L2NvZGU+IDogVmFsdWUg MjUgaXMgdG9vIGxhcmdlPC9saT4KCQk8bGk+PGNvZGU+P3F1YW50aXR5PTEyNTwvY29kZT4g OiBWYWx1ZSAxMjUgaXMgdG9vIGxhcmdlJiM4MjMwOyBhbmQgb3V0IG9mIHRoaXMgd29ybGQh PC9saT4KCTwvdWw+CgoJPGgzIGlkPSJlZzQiPkV4YW1wbGUgNDwvaDM+CgoJPHA+U29tZXRp bWVzIHlvdSBtYXkgd2FudCB0byBwZXJmb3JtIHRoZSBzYW1lIGFjdGlvbiBmb3IgYSBudW1i ZXIgb2YgbWF0Y2hlcy4gRm9yIHRoZXNlIGluc3RhbmNlcyB5b3UgbWF5IHVzZSB0aGUgPGNv ZGU+Jmx0O3R4cDpzbWRfY2FzZSAvJmd0OzwvY29kZT4gdGFnIGluIGl0cyBTaW5nbGUgZm9y bS4gTGlzdCBhbGwgdGhlIGNhc2VzIHRoYXQgeW91IHdhbnQgdG8gaGF2ZSB0aGUgc2FtZSBv dXRjb21lLCB0aGVuIHVzZSB0aGUgY29udGFpbmVyIG9mIHRoZSBsYXN0IG9uZSB0byBwZXJm b3JtIHRoZSBhY3Rpb24gaWYgYW55IG9mIHRoZSBwcmVjZWRpbmcgY2FzZXMgbWF0Y2hlZC48 L3A+Cgo8cHJlIGNsYXNzPSJibG9jayI+PGNvZGUgY2xhc3M9ImJsb2NrIj4mbHQ7dHhwOnNt ZF9zd2l0Y2ggaXRlbT0mcXVvdDs/Y3VzdG9tMSZxdW90OyZndDsKICAgJmx0O3R4cDpzbWRf Y2FzZSB2YWx1ZT0mcXVvdDszJnF1b3Q7IHR5cGU9JnF1b3Q7ZGl2aXNpYmxlJnF1b3Q7IC8m Z3Q7CiAgICZsdDt0eHA6c21kX2Nhc2UgdmFsdWU9JnF1b3Q7NyZxdW90OyB0eXBlPSZxdW90 O2RpdmlzaWJsZSZxdW90OyAvJmd0OwogICAmbHQ7dHhwOnNtZF9jYXNlIHZhbHVlPSZxdW90 OzkmcXVvdDsgdHlwZT0mcXVvdDtkaXZpc2libGUmcXVvdDsmZ3Q7CiAgICAge3NtZF9zd2l0 Y2h9IGlzIGRpdmlzaWJsZSBieSAzLCA3IG9yIDkKICAgJmx0Oy90eHA6c21kX2Nhc2UmZ3Q7 CiAgICZsdDt0eHA6c21kX2Nhc2UgdmFsdWU9JnF1b3Q7NSZxdW90OyB0eXBlPSZxdW90O2Vu ZHMmcXVvdDsgLyZndDsKICAgJmx0O3R4cDpzbWRfY2FzZSB2YWx1ZT0mcXVvdDswJnF1b3Q7 IHR5cGU9JnF1b3Q7ZW5kcyZxdW90OyZndDsKICAgICBZYXkhIE51bWJlcnMgZW5kaW5nIGlu IDUgb3IgMCB3aW4gYSB0ZWRkeS4KICAgJmx0Oy90eHA6c21kX2Nhc2UmZ3Q7CiZsdDsvdHhw OnNtZF9zd2l0Y2gmZ3Q7CjwvY29kZT48L3ByZT4KCgk8cD5JZiB5b3UgYWRkIDxjb2RlPmZh bGx0aHJ1PSZxdW90OzEmcXVvdDs8L2NvZGU+IHRvIHRoZSA8Y29kZT52YWx1ZT0mcXVvdDs5 JnF1b3Q7PC9jb2RlPiBjYXNlIHRhZywgYm90aCAmIzgyMTY7ZGl2aXNpYmxlJiM4MjE3OyBh bmQgJiM4MjE2O3RlZGR5IGJlYXImIzgyMTc7IHNldHMgb2YgY29uZGl0aW9ucyB3b3VsZCBi ZSB0ZXN0ZWQgYW5kIHlvdSYjODIxNztkIHNlZSB2YXJ5aW5nIGNvbWJpbmF0aW9ucyBvZiB0 aGUgb3V0cHV0IGJhc2VkIG9uIHRoZSBjb250ZW50cyBvZiBjdXN0b20xLjwvcD4KCgk8aDMg aWQ9ImVnNSI+RXhhbXBsZSA1PC9oMz4KCgk8cD5UaGlzIG9uZSBjaGVja3MgdGhhdCB0aGUg PHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4gdmFyaWFibGUgPGNvZGU+cXR5PC9jb2Rl PiBpcyB3aXRoaW4gdGhlIHJhbmdlIG9mIGEgPGNvZGU+c3RvY2s8L2NvZGU+IGN1c3RvbSBm aWVsZC4gVGhpcyBvbmUgdXNlcyBhIG5lc3RlZCA8Y29kZT5zbWRfc3dpdGNoPC9jb2RlPiB0 YWcuIFRoZSBmaXJzdCAob3V0ZXIpIHN3aXRjaCBjaGVja3MgaWYgdGhlIHZhbHVlIGlzIG51 bWVyaWMgYW5kIHRoZW4gdXNlcyBhIHNlY29uZCBzd2l0Y2ggdG8gY29tcGFyZSBpdHMgdmFs dWUgdG8gdGhlIHN0b2NrIGxldmVsIGluIHRoZSBjdXN0b20gZmllbGQuIElmIHRoZSBvdXRl ciBzd2l0Y2ggZGV0ZWN0cyB0aGUgdmFsdWUgaXMgbm90IG51bWVyaWMsIHRoZSBkZWZhdWx0 IGNhc2UgZmlyZXMgdG8gaW5mb3JtIHRoZSB2aXNpdG9yIG9mIHRoZSBlcnJvci48L3A+Cgo8 cHJlIGNsYXNzPSJibG9jayI+PGNvZGUgY2xhc3M9ImJsb2NrIj4mbHQ7dHhwOnNtZF9zd2l0 Y2ggaXRlbT0mcXVvdDs/cXR5JnF1b3Q7Jmd0OwogICAmbHQ7dHhwOnNtZF9jYXNlIHR5cGU9 JnF1b3Q7aXNudW0mcXVvdDsmZ3Q7CiAgICAgICZsdDt0eHA6c21kX3N3aXRjaCBpdGVtPSZx dW90Oz9xdHkmcXVvdDsgdmFyX3ByZWZpeD0mcXVvdDtpbm5lcl8mcXVvdDsmZ3Q7CiAgICAg ICAgICZsdDt0eHA6c21kX2Nhc2UgdmFsdWU9JnF1b3Q7MCZxdW90OyZndDsKICAgICAgICAg ICAgUGxlYXNlIHNlbGVjdCBhIHF1YW50aXR5IHRvIG9yZGVyCiAgICAgICAgICZsdDsvdHhw OnNtZF9jYXNlJmd0OwogICAgICAgICAmbHQ7dHhwOnNtZF9jYXNlIHZhbHVlPSZxdW90Oz9z dG9jayZxdW90OyB0eXBlPSZxdW90O2xlJnF1b3Q7Jmd0OwogICAgICAgICAgICBUaGVyZSBh cmUgZW5vdWdoIG9mIHRob3NlIGluIHN0b2NrLiBQbGFjZSBvcmRlcj8KICAgICAgICAgJmx0 Oy90eHA6c21kX2Nhc2UmZ3Q7CiAgICAgICAgICZsdDt0eHA6c21kX2Nhc2UgZGVmYXVsdD0m cXVvdDsxJnF1b3Q7IHZhbHVlPSZxdW90Oz9zdG9jayZxdW90OyZndDsKICAgICAgICAgICBU aGVyZSBhcmUgb25seSB7aW5uZXJfbWNfdmFsdWV9IGluIHN0b2NrLiBQbGVhc2UgY2hvb3Nl IGEgbG93ZXIgbnVtYmVyCiAgICAgICAgICZsdDsvdHhwOnNtZF9jYXNlJmd0OwogICAgICAm bHQ7L3R4cDpzbWRfc3dpdGNoJmd0OwogICAmbHQ7L3R4cDpzbWRfY2FzZSZndDsKICAgJmx0 O3R4cDpzbWRfY2FzZSBkZWZhdWx0PSZxdW90OzEmcXVvdDsgdmFsdWU9JnF1b3Q7P3N0b2Nr JnF1b3Q7Jmd0OwogICAgICBTb3JyeSwgJnF1b3Q7e3NtZF9tY19pdGVtfSZxdW90OyBpcyBu b3QgdmFsaWQgaW5wdXQuIFBsZWFzZSBjaG9vc2UgYSB2YWxpZCBvcmRlciBxdWFudGl0eS4K ICAgJmx0Oy90eHA6c21kX2Nhc2UmZ3Q7CiZsdDsvdHhwOnNtZF9zd2l0Y2gmZ3Q7CjwvY29k ZT48L3ByZT4KCgk8cD5TbyBpZiBzb21lb25lIGVudGVycyA8Y29kZT4/cXR5PTA8L2NvZGU+ IG9yIDxjb2RlPj9xdHk9ZnJlZDwvY29kZT4gdGhlbiBhIHNwZWNpYWwgbWVzc2FnZSBpcyBz aG93biB0byBwcm9tcHQgdGhlbSB0byBlbnRlciBhIHZhbGlkIG51bWJlci4gSWYgdGhlIDxj b2RlPnF0eTwvY29kZT4gdmFyaWFibGUgaXMgbG93ZXIgdGhhbiB0aGUgc3RvY2sgbGV2ZWwg b2YgdGhlIGN1cnJlbnQgYXJ0aWNsZSB0aGVuIGFsbCBpcyB3ZWxsLiBCdXQgaWYgYW55IG90 aGVyIHZhbHVlIGlzIHVzZWQsIHRoZSA8Y29kZT5kZWZhdWx0PC9jb2RlPiBjb25kaXRpb24g b2YgdGhlIGlubmVyIDxjb2RlPnNtZF9zd2l0Y2g8L2NvZGU+IGtpY2tzIGluIGFuZCB0ZWxs cyB0aGUgdmlzaXRvciB0aGF0IHRoZXJlIGFyZSBub3QgZW5vdWdoIHRvIHNhdGlzZnkgdGhl aXIgcmF2ZW5vdXMgbmVlZHMuPC9wPgoKCTxwPkEgY291cGxlIG9mIG90aGVyIHRoaW5ncyB0 byBub3RlOjwvcD4KCgk8dWw+CgkJPGxpPnRoZSBpbm5lciBzd2l0Y2ggdXNlcyB0aGUgPGNv ZGU+dmFyX3ByZWZpeDwvY29kZT4gYXR0cmlidXRlIHNvIHRoZSB2YXJpYWJsZSBjYW4gYmUg ZGlzcGxheWVkIGNvcnJlY3RseSB0byB0aGUgdmlzaXRvciB3aXRob3V0IGNsYXNoaW5nIHdp dGggdGhlIHZhbHVlIGluIHRoZSBvdXRlciBzd2l0Y2guIEluIHRoaXMgY2FzZSB0aGUgc3dp dGNoIHZhbHVlcyBoYXBwZW4gdG8gYmUgdGhlIHNhbWUgc28gaXQgZG9lc24mIzgyMTc7dCBy ZWFsbHkgbWF0dGVyLCBidXQgaWYgeW91IHdlcmUgdGVzdGluZyBhIHNlcGFyYXRlIHZhcmlh YmxlIHRoZW4gaXQgbWlnaHQ8L2xpPgoJCTxsaT50aGUgZGVmYXVsdCBjYXNlcyBib3RoIHVz ZSA8Y29kZT52YWx1ZT0mcXVvdDs/c3RvY2smcXVvdDs8L2NvZGU+IGV2ZW4gdGhvdWdoIHRo ZXkgd291bGQgYXBwZWFyIG5vdCB0byBiZSBzdHJpY3RseSBuZWNlc3NhcnkuIFRoZXkgYXJl IHVzZWQgc28gdGhlIHJlcGxhY2VtZW50IHZhcmlhYmxlcyA8Y29kZT57c21kX21jX2l0ZW19 PC9jb2RlPiBhbmQgPGNvZGU+e2lubmVyX21jX3ZhbHVlfTwvY29kZT4gY2FuIGJlIGluc2Vy dGVkIGluIHRoZSBvdXRwdXQuIElmIHlvdSBvbWl0IHRoZSA8Y29kZT52YWx1ZTwvY29kZT4g YXR0cmlidXRlIHRoZW4gdGhlIHJlcGxhY2VtZW50cyBhcmUgbm90ICYjODIxNjtwcmltZWQm IzgyMTc7IGJlY2F1c2UgdGhlIGNhc2UgdGFnIGRvZXMgbm90IGtub3cgd2hlcmUgdG8gbG9v ayBmb3IgaXRzIHZhbHVlPC9saT4KCTwvdWw+CgoJPGgyIGlkPSJjaGFuZ2Vsb2ciPkNoYW5n ZWxvZzwvaDI+CgoJPHVsPgoJCTxsaT4xMCBBcHIgMDkgfCAwLjEwIHwgSW5pdGlhbCByZWxl YXNlPC9saT4KCQk8bGk+MDEgQXVnIDEwIHwgMC4yMCB8IEFkZGVkIGVtcHR5IHR5cGUgKHRo YW5rcyBnb21lZGlhKSA7IGFkZGVkIDxjb2RlPnZhcl9wcmVmaXg8L2NvZGU+IDsgZml4ZWQg ZGVmYXVsdCBjYXNlIGZpcmluZyB1bm5lY2Vzc2FyaWx5IDsgZml4ZWQgcHJvYmxlbSB3aXRo IG11bHRpcGxlIHN3aXRjaCB0YWdzIG9uIGEgcGFnZTwvbGk+Cgk8L3VsPgoKPC9kaXY+Cjwh LS0gKioqIEJFR0lOIFBMVUdJTiBDU1MgKioqIC0tPgo8c3R5bGUgdHlwZT0idGV4dC9jc3Mi Pgojc21kX2hlbHAgeyBsaW5lLWhlaWdodDoxLjMgO30KI3NtZF9oZWxwIGNvZGUgeyBmb250 LXdlaWdodDpib2xkOyBmb250OiAxMDUlLzEzMCUgIkNvdXJpZXIgTmV3IiwgY291cmllciwg bW9ub3NwYWNlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkNDO30KI3NtZF9oZWxwIGNvZGUu YmxvY2sgeyBmb250LXdlaWdodDpub3JtYWw7IGJvcmRlcjoxcHggZG90dGVkICM5OTk7IGJh Y2tncm91bmQtY29sb3I6ICNmMGU2OGM7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbjoxMHB4IDEw cHggMjBweDsgcGFkZGluZzoxMHB4OyB9CiNzbWRfaGVscCBhOmxpbmssICNzbWRfaGVscCBh OnZpc2l0ZWQgeyBjb2xvcjogYmx1ZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXIt Ym90dG9tOiAxcHggc29saWQgYmx1ZTsgcGFkZGluZy1ib3R0b206MXB4O30KI3NtZF9oZWxw IGE6aG92ZXIsICNzbWRfaGVscCBhOmFjdGl2ZSB7IGNvbG9yOiBibHVlOyB0ZXh0LWRlY29y YXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBibHVlOyBwYWRkaW5nLWJv dHRvbToxcHg7fQojc21kX2hlbHAgaDEgeyBjb2xvcjogIzM2OTsgZm9udDogMjBweCBHZW9y Z2lhLCBzYW5zLXNlcmlmOyBtYXJnaW46IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgfQojc21k X2hlbHAgaDIgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7IHBhZGRpbmc6MTBw eCAwIDA7IGNvbG9yOiAjMzY5OyBmb250OiAxN3B4IEdlb3JnaWEsIHNhbnMtc2VyaWY7IH0K I3NtZF9oZWxwIGgzIHsgY29sb3I6ICMyNzU2ODU7IGZvbnQ6IGJvbGQgMTJweCBBcmlhbCwg c2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDFweDsgbWFyZ2luOiAxMHB4IDAgMDt0ZXh0 LXRyYW5zZm9ybTogdXBwZXJjYXNlO30KI3NtZF9oZWxwIGg0IHsgZm9udDogYm9sZCAxMXB4 IEFyaWFsLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMXB4OyBtYXJnaW46IDEwcHgg MCAwIDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CiNzbWRfaGVscCAuYXR0LW5hbWUg eyBmb250LXdlaWdodDpib2xkOyB9CiNzbWRfaGVscCAuYXR0LXZhbCB7IGZvbnQtc3R5bGU6 aXRhbGljO30KI3NtZF9oZWxwIC5tYW5kIHsgYmFja2dyb3VuZDojZWVlOyBib3JkZXI6MXB4 IGRvdHRlZCAjOTk5OyB9CiNzbWRfaGVscCB0YWJsZSB7d2lkdGg6MTAwJTsgdGV4dC1hbGln bjpjZW50ZXI7IHBhZGRpbmctYm90dG9tOjFlbTsgYm9yZGVyOjFweCBzb2xpZCAjNjY2O30K I3NtZF9oZWxwIHRkLCAjc21kX2hlbHAgdGgge2JvcmRlcjoxcHggc29saWQgIzk5OTsgcGFk ZGluZzouNWVtIDA7fQo8L3N0eWxlPgo8IS0tICoqKiBFTkQgUExVR0lOIENTUyAqKiogLS0+ CiI7czozOiJtZDUiO3M6MzI6Ijg1NDI0NjljNjM5ODAwZDM3MTE0OGJkZjQzMzgyMDBjIjt9