# Name: sed_display_code v0.5 # Type: Client side plugin # Allows presentation of a code listing (from a file) in your articles. # Author: Stephen Dickinson # URL: txp-plugins.netcarving.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: # ..................................................................... YToxMDp7czo0OiJuYW1lIjtzOjE2OiJzZWRfZGlzcGxheV9jb2RlIjtzOjY6ImF1dGhvciI7 czoxNzoiU3RlcGhlbiBEaWNraW5zb24iO3M6MTA6ImF1dGhvcl91cmkiO3M6MjY6InR4cC1w bHVnaW5zLm5ldGNhcnZpbmcuY29tIjtzOjc6InZlcnNpb24iO3M6MzoiMC41IjtzOjExOiJk ZXNjcmlwdGlvbiI7czo2OToiQWxsb3dzIHByZXNlbnRhdGlvbiBvZiBhIGNvZGUgbGlzdGlu ZyAoZnJvbSBhIGZpbGUpIGluIHlvdXIgYXJ0aWNsZXMuIjtzOjQ6ImNvZGUiO3M6NzQ1Mzoi Ly8gPT09PT09PT09PT09PT09PT09IFBSSVZBVEUgRlVOQ1RJT05TIEZPTExPVyA9PT09PT09 PT09PT09PT09PT09DQoNCmZ1bmN0aW9uIF9zZWRfY291bnRfaW5pdGlhbF90YWJzKCRzdHJp bmcpIHsNCgkvLyBvdXRwdXQgdmFyaWFibGUuLi4NCgkkb3V0X3RhYnMJCQk9IDA7DQoNCgkv LyBwcml2YXRlIGxvY2Fscy4uLg0KCSRwdl9sZW4gICAgCQk9IHN0cmxlbigkc3RyaW5nKTsN CgkkcHZfcG9zICAgIAkJPSAwOw0KCSRwdl9jb250aW51ZQk9IDE7DQoNCgl3aGlsZSggKDE9 PSRwdl9jb250aW51ZSkgJiYgKCRwdl9wb3M8JHB2X2xlbikgKSB7DQoJCSRwdl9jaGFyID0g JHN0cmluZ3skcHZfcG9zfTsNCgkJaWYoICJcdCIgPT0gJHB2X2NoYXIgKQ0KCQkJJG91dF90 YWJzKz0xOw0KCQllbHNlDQoJCQkkcHZfY29udGludWU9MDsNCgkJJHB2X3Bvcys9MTsNCgkJ fQ0KCXJldHVybiAkb3V0X3RhYnM7DQoJfQ0KDQpmdW5jdGlvbiBfc2VkX2dlbmVyYXRlX3Jv dyggJHdyYXAgLCAkbGluZV9ubyAsICRsaW5lICwgJHJvd19jbGFzcyAsICRsaW5lX2NlbGxf Y2xhc3MgKSB7DQoJJHB2X3NwYWNlID0gJyYjMTYwOyc7DQoNCgkkcHZfbGluZV9ub19jZWxs ID0gCWRvVGFnKCAkbGluZV9ubywgJHdyYXAsICcnICk7DQoJJHB2X2xpbmVfY2VsbCAgICA9 IAlkb1RhZyggJGxpbmUsICAgICR3cmFwLCAkbGluZV9jZWxsX2NsYXNzICk7DQoNCglyZXR1 cm4gZG9UYWcoICRwdl9saW5lX25vX2NlbGwuJHB2X2xpbmVfY2VsbCwgJ3RyJywgJHJvd19j bGFzcyApLiJcbiI7DQoJfQ0KDQoNCi8vID09PT09PT09PT09PT09PT09PSBDTElFTlQtU0lE RSBUQUdTIEZPTExPVyA9PT09PT09PT09PT09PT09PT09DQoNCmZ1bmN0aW9uIHNlZF9kaXNw bGF5X2NvZGUoJGF0dHMpIHsNCgkvLyBpbXBvcnQgZ2xvYmFsIHZhcmlhYmxlcy4uLg0KCWds b2JhbCAkc2l0ZXVybCwgJHByZWZzOw0KDQoJJG9mZnNldCA9IHN0cmxlbiggJHByZWZzWydw YXRoX3RvX3NpdGUnXSApICsgMTsNCgkkZGVmYXVsdF9wYXRoID0gc3Vic3RyKCAkcHJlZnNb J2ZpbGVfYmFzZV9wYXRoJ10gLCAkb2Zmc2V0ICk7DQoNCgkvLyBkZWZpbmUgb3V0cHV0IHZh cmlhYmxlLi4uDQoJJG91dF9yZXN1bHQgPSAiIjsNCg0KCS8vIHByb2Nlc3MgYXR0cmlidXRl IHZhcmlhYmxlcy4uLg0KCWV4dHJhY3QoIGxBdHRzKCBhcnJheSgNCgkJJ2ZpbGUnCQk9PiAn JywJCQkJLy8gTmVlZGVkOiBOYW1lIG9mIHRoZSBmaWxlIHRvIHByb2Nlc3MuDQoJCSdkaXIn CQk9PiAkZGVmYXVsdF9wYXRoLCAgCS8vIE9wdGlvbmFsOiBEaXJlY3RvcnkgdG8gdXNlIHRv IGxvb2sgZm9yIGZpbGUuDQovLwkJJ2xpc3RfdHlwZScgPT4gJ3RhYmxlJywNCgkJJ2xpc3Rf dGV4dCcgPT4gJ0xpc3RpbmcnLCAJCS8vIE9wdGlvbmFsOiBUZXh0IHVzZWQgdG8gdGFnIHRo ZSB0aXRsZSBvZiB0aGUgbGlzdGluZy4gU2V0IHRoaXMgdG8gJycgdG8gb21pdCB0aGUgdGl0 bGUuDQoJCSdsaXN0X25vJyAJPT4gJycsCQkJCS8vIE9wdGlvbmFsOiBBbnkgbm9uLWVtcHR5 IHZhbHVlIHdpbGwgYmUgcGxhY2VkIGFmdGVyIHRoZSBsaXN0X3RleHQgdmFyaWFibGUgaW4g dGhlIHRpdGxlLg0KCQknc2hvd19jb3VudCc9PiAnJywNCgkJJ2xpc3RjbGFzcycgPT4gJ3Nl ZF9kYycsDQoJCSdlcnJvcmNsYXNzJz0+ICdzZWRfZGNfZXJyb3InLA0KCQknZXJyX3RleHQn CT0+ICd3YXMgbm90IGZvdW5kLicsDQoJCSdjbGFzcycJCT0+ICdzZWRfZGNfd3JhcCcsCS8v IE9wdGlvbmFsOiBOYW1lIG9mIGNsYXNzIHRvIHVzZSBmb3IgdGhlIHdyYXAgdGFnLg0KCQkn d3JhcHRhZycJPT4gJ2RpdicsCQkJLy8gT3B0aW9uYWw6IE5hbWUgb2YgdGhlIHRhZyB0byB1 c2UgdG8gd3JhcCB0aGUgbGlzdGluZy4NCgkJJ3N0YXJ0JwkJPT4gJzEnLA0KCQknZW5kJwkJ PT4gJycsDQoJCSdoaWdobGlnaHQxJz0+ICctMScsCQkJLy8gT3B0aW9uYWw6IGxpc3Qgb2Yg bGluZSBudW1iZXJzIHRvIHRhZyB3aXRoIGhpZ2hsaWdodCBjbGFzcyAxLiAoT21pdCB0byB0 YWcgbm8gbGluZXMpLg0KCQknaGlnaGxpZ2h0Mic9PiAnLTEnLAkJCS8vIE9wdGlvbmFsOiBs aXN0IG9mIGxpbmUgbnVtYmVycyB0byB0YWcgd2l0aCBoaWdobGlnaHQgY2xhc3MgMS4gKE9t aXQgdG8gdGFnIG5vIGxpbmVzKS4NCgkJJ2hpZ2hsaWdodDMnPT4gJy0xJywJCQkvLyBPcHRp b25hbDogbGlzdCBvZiBsaW5lIG51bWJlcnMgdG8gdGFnIHdpdGggaGlnaGxpZ2h0IGNsYXNz IDEuIChPbWl0IHRvIHRhZyBubyBsaW5lcykuDQoJCSdzdW1fdGV4dCcJPT4gJ0RpZXNlIFRh YmVsbGUgemVpZ3QgZGVuIEluaGFsdCBkZXIgRGF0ZWknLA0KCQknbGlua190ZXh0JyA9PiAn Q29kZSBoZXJ1bnRlcmxhZGVuJywJLy8gT3B0aW9uYWw6IFRleHQgdG8gdXNlIHdoZW4gcHJp bnRpbmcgdGhlIGRvd25sb2FkIG9wdGlvbiAoc2V0IHRvICcnIHRvIGRpc2FibGUgZG93bmxv YWQuKQ0KCQknbGlua190aXRsZSc9PiAnTCZhdW1sO2QgZGVuIG9iaWdlbiBDb2RlIGFscyBE YXRlaSBoZXJ1bnRlci4nIC8vIE9wdGlvbmFsOiBUZXh0IHVzZWQgdG8gdGl0bGUgdGhlIGRv d25sb2FkIGxpbmsgKGlmIGVuYWJsZWQuKQ0KCQkpLCAkYXR0cykpOw0KDQoJLy8gZGVjbGFy ZSBhbmQgaW5pdGlhbGlzZSBmdW5jdGlvbi1zY29wZQ0KCSRwdl9maWxlbmFtZSA9ICRkaXIu RFMuJGZpbGUuJy50eHQnOw0KCSRwdl9saXN0ID0gJyc7DQoJJHB2X3RpdGxlID0gJyc7DQoJ JHB2X2xpbmVfbnVtYmVyID0gMDsNCgkkcHZfdXNlX2hpZ2hsaWdodHMgPSBGQUxTRTsNCgkk cHZfc3RhcnRlZCA9IEZBTFNFOw0KCSRwdl9oaWdobGlnaHQxX2FycmF5ID0gYXJyYXkoKTsN CgkkcHZfaGlnaGxpZ2h0Ml9hcnJheSA9IGFycmF5KCk7DQoJJHB2X2hpZ2hsaWdodDNfYXJy YXkgPSBhcnJheSgpOw0KDQoJLy8NCgkvLyBDbGVhbiB1cCB0aGUgc3RhcnQgYW5kIGVuZCBs aW5lIG51bWJlcnMuLi4NCgkvLw0KCWlmKCAhaXNfbnVtZXJpYyggJHN0YXJ0ICkgKQ0KCQkk c3RhcnQgPSAxOw0KCWVsc2Ugew0KCQkkc3RhcnQgPSBpbnR2YWwoICRzdGFydCApOw0KCQlp ZiggJHN0YXJ0IDwgMCApDQoJCQkkc3RhcnQgPSAxOw0KCQl9DQoJaWYoICFpc19udW1lcmlj KCAkZW5kICkgKQ0KCQkkZW5kID0gMTAwMDAwMDsNCgllbHNlIHsNCgkJJGVuZCA9IGludHZh bCggJGVuZCApOw0KCQlpZiggKCRlbmQgPCAwKSB8fCAoJGVuZCA8ICRzdGFydCkgKQ0KCQkJ JGVuZCA9IDEwMDAwMDA7DQoJCX0NCg0KCS8vDQoJLy8JUHJlcGFyZSB0aGUgaGlnaGxpZ2h0 IGFycmF5cy4uLg0KCS8vDQoJaWYoICFlbXB0eSgkaGlnaGxpZ2h0MSkgKSB7DQoJCSRwdl91 c2VfaGlnaGxpZ2h0cyA9IFRSVUU7DQoJCSRwdl9oaWdobGlnaHQxX2FycmF5ID0gZXhwbG9k ZSggJywnLCAkaGlnaGxpZ2h0MSApOw0KCQl9DQoJaWYoICFlbXB0eSgkaGlnaGxpZ2h0Mikg KSB7DQoJCSRwdl91c2VfaGlnaGxpZ2h0cyA9IFRSVUU7DQoJCSRwdl9oaWdobGlnaHQyX2Fy cmF5ID0gZXhwbG9kZSggJywnLCAkaGlnaGxpZ2h0MiApOw0KCQl9DQoJaWYoICFlbXB0eSgk aGlnaGxpZ2h0MykgKSB7DQoJCSRwdl91c2VfaGlnaGxpZ2h0cyA9IFRSVUU7DQoJCSRwdl9o aWdobGlnaHQzX2FycmF5ID0gZXhwbG9kZSggJywnLCAkaGlnaGxpZ2h0MyApOw0KCQl9DQoN CgkvLw0KCS8vIE9wZW4gYW5kIHByb2Nlc3MgdGhlIGZpbGUuLi4NCgkvLw0KCWlmKCBmaWxl X2V4aXN0cyggJHB2X2ZpbGVuYW1lICkgKQl7DQoJCSRwdl9maWxlID0gZm9wZW4oICRwdl9m aWxlbmFtZSwgInIiICk7DQoJCXdoaWxlKCAhZmVvZiggJHB2X2ZpbGUgKSApIAl7DQoJCQkk cHZfbGluZV9udW1iZXIrPTE7DQoJCQkkcHZfbGluZSA9IGZnZXRzKCAkcHZfZmlsZSwgNDA5 NiApOw0KDQoJCQlpZiggKCRwdl9saW5lX251bWJlciA+PSAkc3RhcnQpICYmICgkcHZfbGlu ZV9udW1iZXIgPD0gJGVuZCkgKQl7DQoJCQkJJHB2X3RhYiA9IDA7CQkJLy8gbnVtYmVyIG9m IHRhYnMgYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIGxpbmUuDQoJCQkJJHB2X2xpX2NsYXNz ID0gJyc7CQkvLyBzdHJpbmcgZm9yIGJ1aWxkaW5nIHRoZSBsaXN0IGl0ZW0gY2xhc3MuDQoJ CQkJJHB2X2luZGVudF9jbGFzcyA9ICcnOwkvLyBzdHJpbmcgZm9yIGJ1aWxkaW5nIHRoZSBp bmRlbnQgY2xhc3MuDQoNCgkJCQkvLw0KCQkJCS8vIFByb2Nlc3MgYW55IHNwZWNpYWwgY2hh cmFjdGVycyBpbiB0aGlzIGxpbmUgZm9yIGRpc3BsYXkNCgkJCQkvLw0KCQkJCSRwdl9saW5l ID0gaHRtbHNwZWNpYWxjaGFycyggJHB2X2xpbmUgKTsNCg0KCQkJCS8vDQoJCQkJLy8gUHJv Y2VzcyB0YWJzIGF0IHRoZSBzdGFydCBvZiB0aGUgbGluZS4uLg0KCQkJCS8vDQoJCQkJJHB2 X3RhYiA9IF9zZWRfY291bnRfaW5pdGlhbF90YWJzKCAkcHZfbGluZSApOw0KCQkJCSRwdl9p bmRlbnRfY2xhc3MgPSAndGFiJy4kcHZfdGFiOw0KDQoJCQkJLy8NCgkJCQkvLyBNYXJrLXVw IG9kZCBsaW5lcyB0byBhbGxvdyBmb3Igc3RyaXBwZWQgdGFibGVzIGluIHRoZSBzdHlsZSBz aGVldC4uLg0KCQkJCS8vDQoJCQkJaWYoIDE9PSgkcHZfbGluZV9udW1iZXImMSkgKQ0KCQkJ CQkkcHZfbGlfY2xhc3MgPSAnb2RkJzsNCg0KCQkJCS8vDQoJCQkJLy8gSXMgdGhpcyBsaW5l IGluIHRoZSBoaWdobGlnaHQgYXJyYXlzPw0KCQkJCS8vDQoJCQkJaWYoICRwdl91c2VfaGln aGxpZ2h0cyApIHsNCgkJCQkJaWYoIGluX2FycmF5KCAkcHZfbGluZV9udW1iZXIsICRwdl9o aWdobGlnaHQxX2FycmF5ICkgKQ0KCQkJCQkJJHB2X2xpX2NsYXNzIC49ICcgaGkxJzsNCgkJ CQkJaWYoIGluX2FycmF5KCAkcHZfbGluZV9udW1iZXIsICRwdl9oaWdobGlnaHQyX2FycmF5 ICkgKQ0KCQkJCQkJJHB2X2xpX2NsYXNzIC49ICcgaGkyJzsNCgkJCQkJaWYoIGluX2FycmF5 KCAkcHZfbGluZV9udW1iZXIsICRwdl9oaWdobGlnaHQzX2FycmF5ICkgKQ0KCQkJCQkJJHB2 X2xpX2NsYXNzIC49ICcgaGkzJzsNCgkJCQkJJHB2X2xpX2NsYXNzID0gbHRyaW0gKCRwdl9s aV9jbGFzcywgJyAnKTsNCgkJCQkJfQ0KDQoJCQkJLy8NCgkJCQkvLyBQcm9jZXNzIHdoaXRl c3BhY2UgaW4gdGhlIGxpbmUuLi4NCgkJCQkvLyBUcmltIHN0YXJ0aW5nIHRhYnMuDQoJCQkJ Ly8gVHJpbSBhbGwgdHJhaWxpbmcgd2hpdGVzcGFjZQ0KCQkJCS8vIFJlcGxhY2UgbWlkLWxp bmUgdGFicyB3aXRoIHNwYWNlcy4NCgkJCQkvLw0KCQkJCSRwdl9saW5lID0gbHRyaW0oICRw dl9saW5lLCJcdCIgKTsNCgkJCQkkcHZfbGluZSA9IHJ0cmltKCAkcHZfbGluZSApOw0KCQkJ CSRwdl9saW5lID0gc3RyX3JlcGxhY2UoICJcdCIsICIgIiwgJHB2X2xpbmUgKTsNCg0KCQkJ CSRwdl9zdHJfbGluZV9udW1iZXIgPSBzdHJfcGFkKCRwdl9saW5lX251bWJlciwgNCwgJzAn LCBTVFJfUEFEX0xFRlQpOw0KDQoJCQkJaWYoICcnPT0gJHB2X2xpbmUgKQ0KCQkJCQkkcHZf bGluZSA9ICcmIzE2MDsnOw0KDQoJCQkJJHB2X2xpc3QgLj0gX3NlZF9nZW5lcmF0ZV9yb3co ICd0ZCcsICRwdl9zdHJfbGluZV9udW1iZXIsICRwdl9saW5lICwgJHB2X2xpX2NsYXNzLCAk cHZfaW5kZW50X2NsYXNzICk7DQoJCQkJfSAvLyBlbmQgaWYgaW4gcmFuZ2UNCgkJCX0gLy8g ZW5kIHdoaWxlDQoJCWZjbG9zZSggJHB2X2ZpbGUgKTsNCg0KCQkvLw0KCQkvLyBQcm9jZXNz IHRoZSB0aXRsZSBibG9jay4NCgkJLy8gaWYgdGhlIHVzZXIgZGlkbid0IGJsYW5rIG91dCB0 aGUgdGl0bGUgdGhlbiBwcmVwYXJlIGl0Li4uDQoJCS8vDQoJCSRwdl9jYXB0aW9uCT0gJyc7 DQoJCWlmKCAhZW1wdHkoJGxpc3RfdGV4dCkgKQl7DQoJCQkkcHZfdGl0bGUgPSAkbGlzdF90 ZXh0Ow0KCQkJaWYoICFlbXB0eSgkbGlzdF9ubykgKQ0KCQkJCSRwdl90aXRsZSA9ICRwdl90 aXRsZS4nICcuJGxpc3Rfbm87DQoNCgkJCSRwdl9jYXB0aW9uID0gZG9UYWcoICgkcHZfdGl0 bGUuJzogJy4kZmlsZSksICdjYXB0aW9uJywgJycgKS4iXG4iOw0KCQkJfQ0KDQoJCSRwdl9j b2xncm91cCA9IGRvVGFnKCAiPGNvbCBjbGFzcz1cImxpbmUtbm9cIiAvPjxjb2wgY2xhc3M9 XCJsaW5lXCIgLz4iLCAnY29sZ3JvdXAnLCAnJykuIlxuIjsNCgkJJHB2X2hlYWRlciAgID0g ZG9UYWcoICI8dHI+PHRoPiM8L3RoPjx0aD5Db2RlPC90aD48L3RyPiIsICd0aGVhZCcsICcn KS4iXG4iOw0KCQkkcHZfbGlzdCAJID0gZG9UYWcoICRwdl9saXN0LCAndGJvZHknLCAnJyk7 DQoNCgkJJG91dF9yZXN1bHQgPSBkb1RhZyggJHB2X2NhcHRpb24uJHB2X2NvbGdyb3VwLiRw dl9oZWFkZXIuJHB2X2xpc3QsICd0YWJsZScsICRsaXN0Y2xhc3MsICcgc3VtbWFyeT0iJy4k c3VtX3RleHQuJyAnLiRmaWxlLiciJyApLiJcbiI7DQoNCgkJLy8NCgkJLy8gYWRkIGluIHRo ZSBsaW5rIHRvIHRoZSBmaWxlIGlmIG5lY2Vzc2FyeQ0KCQkvLw0KCQlpZiggIWVtcHR5KCRs aW5rX3RleHQpICkgew0KCQkJJG1hdGNoX2RpciA9ICRwcmVmc1sncGF0aF90b19zaXRlJ10u RFMuJGRpcjsNCgkJCWlmKCAkcHJlZnNbJ2ZpbGVfYmFzZV9wYXRoJ10gPT0gJG1hdGNoX2Rp ciApIHsNCgkJCQkvLw0KCQkJCS8vCURvd25sb2FkaW5nIGZyb20gdGhlIFRYUCBtYW5hZ2Vk IGRpcmVjdG9yeSBvZiBmaWxlcyBzbyBnZXQgdGhlIGxpc3RpbmcgdGhyb3VnaCB0aGUgY29y ZQ0KCQkJCS8vIGRvd25sb2FkIHJvdXRpbmUuLi4NCgkJCQkvLw0KCQkJCSRjb250ZW50X3N0 cmluZyA9ICghZW1wdHkoJHNob3dfY291bnQpICkgPyAkbGlua190ZXh0Lic8YnIvPlsnLiRz aG93X2NvdW50Lic8dHhwOmZpbGVfZG93bmxvYWRfZG93bmxvYWRzIC8+XScgOiAkbGlua190 ZXh0IDsNCgkJCQkkZGxfbGluayA9IGZpbGVfZG93bmxvYWRfbGluayggYXJyYXkoJ2ZpbGVu YW1lJz0+JGZpbGUuJy50eHQnKSwgJGNvbnRlbnRfc3RyaW5nICk7DQoJCQkJJG91dF9yZXN1 bHQuPSBkb1RhZyggJGRsX2xpbmssICdwJywgJGxpc3RjbGFzcyApLiJcbiI7DQoJCQkJfQ0K CQkJZWxzZSB7DQoJCQkJLy8NCgkJCQkvLwlSZXRhaW4gdGhlIG9yaWdpbmFsIGxpbmsgY29k ZSBhcyBpdCBhbGxvd3MgdGl0bGUgYXR0cmlidXRlIHdoZXJlYXMgdGhlDQoJCQkJLy8gY29y ZSByb3V0aW5lIGRvZXNuJ3QNCgkJCQkvLw0KCQkJCSRvdXRfcmVzdWx0Lj0gZG9UYWcoICgi PGEgaHJlZj1cImh0dHA6Ly8iLiRzaXRldXJsLiIvIi4kcHZfZmlsZW5hbWUuIlwiIHRpdGxl PVwiIi4kbGlua190aXRsZS4iXCI+Ii4kbGlua190ZXh0LiI8L2E+IiksICdwJywgJGxpc3Rj bGFzcyApLiJcbiI7DQoJCQkJfQ0KCQkJfQ0KCQkJfQ0KCWVsc2UNCgkJLy8gQXJlYSB0byBp bXByb3ZlOiBtYXJrdXAgZm9yIG1pc3NpbmcgZmlsZS4NCgkJJG91dF9yZXN1bHQgPSAiPHAg Y2xhc3M9XCIiLiRlcnJvcmNsYXNzLiJcIj48c3Ryb25nPiIuJHB2X2ZpbGVuYW1lLiIgIi4k ZXJyX3RleHQuIjwvc3Ryb25nPjwvcD4iOw0KDQoJJG91dF9yZXN1bHQgPSBkb1RhZygkb3V0 X3Jlc3VsdCwgJHdyYXB0YWcsICRjbGFzcyk7DQoJcmV0dXJuICRvdXRfcmVzdWx0Ow0KCX0N CiI7czo0OiJ0eXBlIjtzOjE6IjAiO3M6NToib3JkZXIiO3M6MToiNSI7czo0OiJoZWxwIjtz OjE2NzY1OiI8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpkaXYjc2VkX2hlbHAgdGQgeyB2ZXJ0 aWNhbC1hbGlnbjp0b3A7IH0KZGl2I3NlZF9oZWxwIGNvZGUgeyBmb250LXdlaWdodDpib2xk OyBmb250OiAxMDUlLzEzMCUgIkNvdXJpZXIgTmV3IiwgY291cmllciwgbW9ub3NwYWNlOyBi YWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkNDO30KZGl2I3NlZF9oZWxwIGNvZGUuc2VkX2NvZGVf dGFnIHsgZm9udC13ZWlnaHQ6bm9ybWFsOyBib3JkZXI6MXB4IGRvdHRlZCAjOTk5OyBiYWNr Z3JvdW5kLWNvbG9yOiAjZjBlNjhjOyBkaXNwbGF5OmJsb2NrOyBtYXJnaW46MTBweCAxMHB4 IDIwcHg7IHBhZGRpbmc6MTBweDsgfQpkaXYjc2VkX2hlbHAgYTpsaW5rLCBkaXYjc2VkX2hl bHAgYTp2aXNpdGVkIHsgY29sb3I6IGJsdWU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9y ZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsdWU7IHBhZGRpbmctYm90dG9tOjFweDt9CmRpdiNz ZWRfaGVscCBhOmhvdmVyLCBkaXYjc2VkX2hlbHAgYTphY3RpdmUgeyBjb2xvcjogYmx1ZTsg dGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItYm90dG9tOiAycHggc29saWQgYmx1ZTsg cGFkZGluZy1ib3R0b206MXB4O30KZGl2I3NlZF9oZWxwIGgxIHsgY29sb3I6ICMzNjk7IGZv bnQ6IDIwcHggR2VvcmdpYSwgc2Fucy1zZXJpZjsgbWFyZ2luOiAwOyB0ZXh0LWFsaWduOiBj ZW50ZXI7IH0KZGl2I3NlZF9oZWxwIGgyIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJs YWNrOyBwYWRkaW5nOjEwcHggMCAwOyBjb2xvcjogIzM2OTsgZm9udDogMTdweCBHZW9yZ2lh LCBzYW5zLXNlcmlmOyB9CmRpdiNzZWRfaGVscCBoMyB7IGNvbG9yOiAjNjkzOyBmb250OiBi b2xkIDEycHggQXJpYWwsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAxcHg7IG1hcmdp bjogMTBweCAwIDA7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9Cjwvc3R5bGU+Cgk8cD48 ZGl2IGlkPSJzZWRfaGVscCI+PC9wPgoJPGgxIGlkPSJtYW51YWwiPkRpc3BsYXkgQ29kZSBQ bHVnaW48L2gxPgoJPHA+c2VkX2Rpc3BsYXlfY29kZSBwbHVnaW4sIHYwLjUgKEp1bmUgMTB0 aCwgMjAwNik8L3A+Cgk8cD5UYWtlcyBhIGZpbGUmIzgyMTI7d2l0aCBhIDxzdHJvbmc+LnR4 dDwvc3Ryb25nPiBleHRlbnNpb24mIzgyMTI7YW5kIGZvcm1hdHMgaXQgZm9yIG91dHB1dCBh cyBhIGxpbmUtbnVtYmVyZWQgbGlzdC48YnIgLz4KSGlnaGxpZ2h0cyBjYW4gYmUgYXBwbGll ZCB0byBlbnRpcmUgbGluZXMuPGJyIC8+Ckhvd2V2ZXIsIG5vIGF0dGVtcHQgaXMgbWFkZSBh dCBzb3VyY2UgY29kZSBmb3JtYXR0aW5nIG9mIGtleXdvcmRzIG9mIGFueSBraW5kLCBub3Qg ZXZlbiB0aGUgcmVjb2duaXRpb24gb2YgY29tbWVudHMuPC9wPgoJPHA+djAuNSBBZGRpdGlv bmFsIGZlYXR1cmVzJiM4MjMwOzwvcD4KCTx1bD4KCQk8bGk+Q2FuIG5vdyAob3B0aW9uYWxs eSkgdXNlIFRYUHMgYnVpbHQtaW4gZmlsZSBoYW5kbGluZy4gVGhpcyBsZXRzIHlvdSYjODIz MDsKCTx1bD4KCQk8bGk+VXBsb2FkIHlvdXIgY29kZSBmaWxlcyBmcm9tIHRoZSBUWFAgYWRt aW4gaW50ZXJmYWNlLjwvbGk+CgkJPGxpPkFzc2lnbiBUWFAgY2F0ZWdvcmllcyB0byB5b3Vy IGNvZGUgZmlsZXMuPC9saT4KCQk8bGk+TGlzdCB5b3VyIGNvZGUgZmlsZXMgaW4geW91ciBw YWdlcyB1c2luZyBhIHN1aXRhYmx5IGNhdGVnb3JpemVkIDxjb2RlPiZsdDt0eHA6ZmlsZV9k b3dubG9hZF9saXN0LyZndDs8L2NvZGU+IHRhZy48L2xpPgoJCTxsaT5TaG93IHRoZSBkb3ds b2FkIGNvdW50IGFzIHBhcnQgb2YgdGhlIGRvd25sb2FkIGxpbmsgaW4gdGhlIGNvZGUgbGlz dGluZyBpdHNlbGYuPC9saT4KCTwvdWw+PC9saT4KCQk8bGk+UmVtb3ZlZCB0aGUgc2hvd192 ZXIgYXR0cmlidXRlLjwvbGk+Cgk8L3VsPgoJPGgyIGlkPSJwcm9jZWR1cmUiPlRYUCBVcGxv YWQgUHJvY2VkdXJlPC9oMj4KCTxvbD4KCQk8bGk+Q3JlYXRlIGEgY2F0ZWdvcnkvY2F0ZWdv cmllcyBmb3IgeW91IGNvZGUgbGlzdGluZyBmaWxlcy48L2xpPgoJCTxsaT5QcmVwYXJlIHlv dXIgbGlzdGluZyBmaWxlcyYjODIxMjtyZW1lbWJlciB0aGV5IG5lZWQgdG8gaGF2ZSBhIC50 eHQgZXh0ZW5zaW9uLjwvbGk+CgkJPGxpPlVzZSB0aGUgVFhQIEFkbWluIGludGVyZmFjZSB0 byB1cGxvYWQgeW91ciBmaWxlcy48L2xpPgoJCTxsaT5QdXQgdGhlIDxjb2RlPiZsdDt0eHA6 c2VkX2Rpc3BsYXlfY29kZS8mZ3Q7PC9jb2RlPiB0YWcgaW4geW91ciBhcnRpY2xlcy9mb3Jt cyBhcyBuZWVkZWQgYW5kIGN1c3RvbWl6ZSBpdCYjODIxNztzIGF0dHJpYnV0ZXMuCgk8b2w+ CgkJPGxpPllvdSBuZWVkIHRvIHNldCB0aGUgPGVtPmRpcjwvZW0+IGF0dHJpYnV0ZSB0byB0 aGUgZmlsZXMgZGlyZWN0b3J5IG9mIHlvdXIgVFhQIGluc3RhbGxhdGlvbi4gQnkgZGVmYXVs dDogPGVtPmRpcj0mIzgyMTc7ZmlsZXMmIzgyMTc7PC9lbT4uPC9saT4KCQk8bGk+SWYgeW91 IHdhbnQgYSBkb3dubG9hZCBsaW5rIGF0IHRoZSBmb290IG9mIHRoZSBsaXN0aW5nIHdpdGgg dGhlIGFjdGl2ZSBkb3dubG9hZCBjb3VudCB0aGVuIHlvdSBuZWVkIHRvIGFkZCB0aGUgPHN0 cm9uZz5zaG93X2NvdW50PC9zdHJvbmc+IGF0dHJpYnV0ZS4gU2V0IHRoZSB2YWx1ZSB0byB0 aGUgdGV4dCB5b3Ugd2FudCB0byBhcHBlYXIgbmV4dCB0byB0aGUgY291bnQ6IDxzdHJvbmc+ c2hvd19jb3VudD0mIzgyMTc7Q29waWVzIERvd25sb2FkZWQ6JiM4MjE3Ozwvc3Ryb25nPjwv bGk+Cgk8L29sPjwvbGk+Cgk8L29sPgoJPGgyIGlkPSJhdHRzIj5EaXNwbGF5IENvZGUgQXR0 cmlidXRlcy48L2gyPgoJPHA+VGhlIHBsdWdpbiBjYW4gdGFrZSB0aGUgZm9sbG93aW5nIGF0 dHJpYnV0ZXMmIzgyMzA7PC9wPgoJPHRhYmxlPgoJCTx0cj4KCQkJPHRoPkF0dHJpYnV0ZSAg ICA8L3RoPgoJCQk8dGg+RGVmYXVsdCBWYWx1ZSA8L3RoPgoJCQk8dGg+U3RhdHVzICAgPC90 aD4KCQkJPHRoPkRlc2NyaXB0aW9uIDwvdGg+CgkJPC90cj4KCQk8dHI+CgkJCTx0ZD4gJiM4 MjE2O2ZpbGUmIzgyMTc7ICAgICAgIDwvdGQ+CgkJCTx0ZD4gTm9uZSAgICAgICAgICA8L3Rk PgoJCQk8dGQ+IE5lZWRlZCAgIDwvdGQ+CgkJCTx0ZD4gTmFtZSBvZiB0aGUgZmlsZSB0byBw cm9jZXNzLiA8L3RkPgoJCTwvdHI+CgkJPHRyPgoJCQk8dGQ+IDxzdHJvbmc+JiM4MjE2O2Rp ciYjODIxNzs8L3N0cm9uZz4gICAgICA8L3RkPgoJCQk8dGQ+IDxzdHJvbmc+JiM4MjE2O2Zp bGVzJiM4MjE3Ozwvc3Ryb25nPiAgICAgPC90ZD4KCQkJPHRkPiA8c3Ryb25nPk9wdGlvbmFs PC9zdHJvbmc+IDwvdGQ+CgkJCTx0ZD4gRGlyZWN0b3J5IHRvIHVzZSB0byBsb29rIGZvciBm aWxlLiAqTm90ZSB0aGUgY2hhbmdlIGZyb20gdGhlIG9sZCBkZWZhdWx0IHZhbHVlIG9mICYj ODIxNjtjb2RlJiM4MjE3Oy4gSWYgeW91IHdlcmUgcmVseWluZyBvbiB0aGlzIG9sZCBkZWZh dWx0IHZhbHVlLCBwbGVhc2UgYWRkICYjODIxNjtkaXI9JiM4MjIxO2NvZGUmIzgyMjE7JiM4 MjE3OyB0byB5b3VyIHRhZyBjYWxsLiAqIDwvdGQ+CgkJPC90cj4KCQk8dHI+CgkJCTx0ZD4g PHN0cm9uZz4mIzgyMTY7bGlzdF90eXBlJiM4MjE3Ozwvc3Ryb25nPiAgPC90ZD4KCQkJPHRk PiA8c3Ryb25nPiYjODIxNjt0YWJsZSYjODIxNzs8L3N0cm9uZz4gICAgICAgPC90ZD4KCQkJ PHRkPiA8c3Ryb25nPk9wdGlvbmFsPC9zdHJvbmc+IDwvdGQ+CgkJCTx0ZD4gPHN0cm9uZz5D aG9vc2Ugd2hpY2ggdW5kZXJseWluZyBzdHJ1Y3R1cmUgd2lsbCBiZSB1c2VkIGZvciB5b3Vy IGNvZGUgbGlzdGluZy48L3N0cm9uZz4gVmFsaWQgdmFsdWVzOiAmIzgyMTY7dGFibGUmIzgy MTc7IG9yICYjODIxNjtvbCYjODIxNzsuIFRoZSBkZWZhdWx0IHZhbHVlIGlzICYjODIxNjt0 YWJsZSYjODIxNzsgYmVjYXVzZSBpdCBoYXMgYmV0dGVyIGJyb3dzZXIgc3VwcG9ydCBhbmQg dmFsaWRhdGVzIGluIG1vcmUgPGNvZGU+ZG9jdHlwZXM8L2NvZGU+IHRoYW4gb3JkZXJlZCBs aXN0cyB3aXRoIHZhcmlhYmxlIHN0YXJ0L2VuZCBsaW5lcy4gPC90ZD4KCQk8L3RyPgoJCTx0 cj4KCQkJPHRkPiAmIzgyMTY7bGlzdF90ZXh0JiM4MjE3OyAgPC90ZD4KCQkJPHRkPiAmIzgy MTY7TGlzdGluZyYjODIxNzsgICAgIDwvdGQ+CgkJCTx0ZD4gT3B0aW9uYWwgPC90ZD4KCQkJ PHRkPiBUZXh0IHVzZWQgdG8gdGFnIHRoZSB0aXRsZSBvZiB0aGUgbGlzdGluZy4gU2V0IHRo aXMgdG8gJiM4MjE2OyYjODIxNzsgdG8gb21pdCB0aGUgdGl0bGUuIDwvdGQ+CgkJPC90cj4K CQk8dHI+CgkJCTx0ZD4gJiM4MjE2O2xpc3Rfbm8mIzgyMTc7ICAgIDwvdGQ+CgkJCTx0ZD4g JiM4MjE2OyYjODIxNzsgICAgICAgICAgICA8L3RkPgoJCQk8dGQ+IE9wdGlvbmFsIDwvdGQ+ CgkJCTx0ZD4gQW55IG5vbi1lbXB0eSB2YWx1ZSB3aWxsIGJlIHBsYWNlZCBhZnRlciB0aGUg bGlzdF90ZXh0IHZhcmlhYmxlIGluIHRoZSB0aXRsZS4gPC90ZD4KCQk8L3RyPgoJCTx0cj4K CQkJPHRkPiAmIzgyMTY7Y2xhc3MmIzgyMTc7ICAgICAgPC90ZD4KCQkJPHRkPiYjODIxNztz ZWRfZGNfd3JhcCYjODIxNzsgIDwvdGQ+CgkJCTx0ZD4gT3B0aW9uYWwgPC90ZD4KCQkJPHRk PiBDbGFzcyB0byB1c2UgaW4gbWFya2luZyB1cCB0aGUgd3JhcHRhZy4gPC90ZD4KCQk8L3Ry PgoJCTx0cj4KCQkJPHRkPiAmIzgyMTY7d3JhcHRhZyYjODIxNzsgICA8L3RkPgoJCQk8dGQ+ ICYjODIxNjtkaXYmIzgyMTc7ICAgICAgICAgPC90ZD4KCQkJPHRkPiBPcHRpb25hbCA8L3Rk PgoJCQk8dGQ+IE5hbWUgb2YgdGhlIHRhZyB0byB1c2UgdG8gd3JhcCB0aGUgbGlzdGluZy4g PC90ZD4KCQk8L3RyPgoJCTx0cj4KCQkJPHRkPiAmIzgyMTY7bGlua190ZXh0JiM4MjE3OyAg PC90ZD4KCQkJPHRkPiAmIzgyMTY7RG93bmxvYWQgdGhpcyBjb2RlLiYjODIxNzsgPC90ZD4K CQkJPHRkPiBPcHRpb25hbCA8L3RkPgoJCQk8dGQ+IFRleHQgdG8gdXNlIHdoZW4gcHJpbnRp bmcgdGhlIGRvd25sb2FkIG9wdGlvbiAoc2V0IHRvICYjODIxNjsmIzgyMTc7IHRvIGRpc2Fi bGUgZG93bmxvYWQuKSA8L3RkPgoJCTwvdHI+CgkJPHRyPgoJCQk8dGQ+ICYjODIxNjtsaW5r X3RpdGxlJiM4MjE3OyA8L3RkPgoJCQk8dGQ+ICYjODIxNjtEb3dubG9hZHMgdGhlIGFib3Zl IGxpc3RpbmcgYXMgYSB0ZXh0IGZpbGUuJiM4MjE3OyA8L3RkPgoJCQk8dGQ+IE9wdGlvbmFs IDwvdGQ+CgkJCTx0ZD4gVGV4dCB1c2VkIHRvIHRpdGxlIHRoZSBkb3dubG9hZCBsaW5rIChp ZiBlbmFibGVkLikgPC90ZD4KCQk8L3RyPgoJCTx0cj4KCQkJPHRkPiA8c3Ryb25nPiYjODIx NjtzaG93X2NvdW50JiM4MjE3Ozwvc3Ryb25nPiA8L3RkPgoJCQk8dGQ+IDxzdHJvbmc+JiM4 MjE2OyYjODIxNzs8L3N0cm9uZz4gICAgICAgIDwvdGQ+CgkJCTx0ZD4gPHN0cm9uZz5PcHRp b25hbDwvc3Ryb25nPiA8L3RkPgoJCQk8dGQ+IDxzdHJvbmc+T21pdCBvciBsZWF2ZSBibGFu ayB0byBwcmV2ZW50IHRoZSBkb3dubG9hZCBjb3VudCBmcm9tIGJlaW5nIHNob3duLiBPdGhl cndpc2UsIHN1cHBseSB0aGUgc3RyaW5nIHRoYXQgd2lsbCBwcmVmaXggdGhlIGRvd25sb2Fk IGNvdW50Ljwvc3Ryb25nPiA8L3RkPgoJCTwvdHI+CgkJPHRyPgoJCQk8dGQ+ICYjODIxNjtz dGFydCYjODIxNzsgICAgICA8L3RkPgoJCQk8dGQ+ICYjODIxNjsxJiM4MjE3OyAgICAgICAg ICAgPC90ZD4KCQkJPHRkPiBPcHRpb25hbCA8L3RkPgoJCQk8dGQ+IFRoZSBsaW5lIG9mIHRo ZSB0ZXh0IGZpbGUgdG8gc3RhcnQgdGhlIGxpc3RpbmcgZnJvbS4gKE9taXQgdG8gc3RhcnQg ZnJvbSB0aGUgYmVnaW5uaW5nLikgPC90ZD4KCQk8L3RyPgoJCTx0cj4KCQkJPHRkPiAmIzgy MTY7ZW5kJiM4MjE3OyAgICAgICAgPC90ZD4KCQkJPHRkPiAmIzgyMTY7JiM4MjE3OyAgICAg ICAgICAgIDwvdGQ+CgkJCTx0ZD4gT3B0aW9uYWwgPC90ZD4KCQkJPHRkPiBUaGUgbGFzdCBs aW5lIG9mIHRoZSB0ZXh0IGZpbGUgdG8gZGlzcGxheS4gKE9taXQgdG8gbGlzdCB0byB0aGUg ZW5kIG9mIHRoZSBmaWxlLikgPC90ZD4KCQk8L3RyPgoJCTx0cj4KCQkJPHRkPiAmIzgyMTY7 aGlnaGxpZ2h0MSYjODIxNzsgPC90ZD4KCQkJPHRkPiAmIzgyMTc7LTEmIzgyMTc7ICAgICAg ICAgIDwvdGQ+CgkJCTx0ZD4gT3B0aW9uYWwgPC90ZD4KCQkJPHRkPiBMaXN0IG9mIGxpbmUg bnVtYmVycyB0byB0YWcgd2l0aCBoaWdobGlnaHQgY2xhc3MgMS4gKE9taXQgdG8gdGFnIG5v IGxpbmVzKS4gPC90ZD4KCQk8L3RyPgoJCTx0cj4KCQkJPHRkPiAmIzgyMTY7aGlnaGxpZ2h0 MiYjODIxNzsgPC90ZD4KCQkJPHRkPiAmIzgyMTc7LTEmIzgyMTc7ICAgICAgICAgIDwvdGQ+ CgkJCTx0ZD4gT3B0aW9uYWwgPC90ZD4KCQkJPHRkPiBMaXN0IG9mIGxpbmUgbnVtYmVycyB0 byB0YWcgd2l0aCBoaWdobGlnaHQgY2xhc3MgMS4gKE9taXQgdG8gdGFnIG5vIGxpbmVzKS4g PC90ZD4KCQk8L3RyPgoJCTx0cj4KCQkJPHRkPiAmIzgyMTY7aGlnaGxpZ2h0MyYjODIxNzsg PC90ZD4KCQkJPHRkPiAmIzgyMTc7LTEmIzgyMTc7ICAgICAgICAgIDwvdGQ+CgkJCTx0ZD4g T3B0aW9uYWwgPC90ZD4KCQkJPHRkPiBMaXN0IG9mIGxpbmUgbnVtYmVycyB0byB0YWcgd2l0 aCBoaWdobGlnaHQgY2xhc3MgMS4gKE9taXQgdG8gdGFnIG5vIGxpbmVzKS4gPC90ZD4KCQk8 L3RyPgoJCTx0cj4KCQkJPHRkPiAmIzgyMTY7c3VtX3RleHQmIzgyMTc7ICAgPC90ZD4KCQkJ PHRkPiAmIzgyMTY7VGhpcyB0YWJsZSBsaXN0cyB0aGUgY29udGVudHMgb2YgdGhlIGZpbGUm IzgyMTc7IDwvdGQ+CgkJCTx0ZD4gT3B0aW9uYWwgPC90ZD4KCQkJPHRkPiBUaGUgdGV4dCB1 c2VkIGluIHRoZSB0YWJsZSYjODIxNztzIHN1bW1hcnkgYXR0cmlidXRlLiA8L3RkPgoJCTwv dHI+CgkJPHRyPgoJCQk8dGQ+ICYjODIxNjtsaXN0Y2xhc3MmIzgyMTc7ICA8L3RkPgoJCQk8 dGQ+ICYjODIxNjtzZWRfZGMmIzgyMTc7ICAgICAgPC90ZD4KCQkJPHRkPiBPcHRpb25hbCA8 L3RkPgoJCQk8dGQ+IENsYXNzIHVzZWQgdG8gbWFyayB1cCB0aGUgdGFibGUuIDwvdGQ+CgkJ PC90cj4KCQk8dHI+CgkJCTx0ZD4gJiM4MjE2O2Vycm9yY2xhc3MmIzgyMTc7IDwvdGQ+CgkJ CTx0ZD4gJiM4MjE2O3NlZF9kY19lcnJvciYjODIxNzsgPC90ZD4KCQkJPHRkPiBPcHRpb25h bCA8L3RkPgoJCQk8dGQ+IENsYXNzIHVzZWQgdG8gbWFyayB1cCBhbnkgZXJyb3IgbWVzc2Fn ZXMgZ2VuZXJhdGVkIGJ5IHRoZSBwbHVnaW4uIDwvdGQ+CgkJPC90cj4KCQk8dHI+CgkJCTx0 ZD4gJiM4MjE2O2Vycl90ZXh0JiM4MjE3OyAgIDwvdGQ+CgkJCTx0ZD4gJiM4MjE2O3dhcyBu b3QgZm91bmQuJiM4MjE3OyA8L3RkPgoJCQk8dGQ+T3B0aW9uYWwgPC90ZD4KCQkJPHRkPiBU ZXh0IHVzZWQgaW4gdGhlIGZpbGUgbm90IGZvdW5kIG1lc3NhZ2UuIChHb2VzIGFmdGVyIHRo ZSBmaWxlbmFtZSkuIDwvdGQ+CgkJPC90cj4KCQk8dHI+CgkJCTx0ZD4gPGRlbD4mIzgyMTY7 c2hvd3ZlciYjODIxNzs8L2RlbD4gICAgPC90ZD4KCQkJPHRkPiA8ZGVsPiYjODIxNjswJiM4 MjE3OzwvZGVsPiAgICAgICAgICAgPC90ZD4KCQkJPHRkPiA8ZGVsPk9wdGlvbmFsPC9kZWw+ IDwvdGQ+CgkJCTx0ZD4gPGRlbD5EaXNwbGF5cyB0aGUgbmFtZSBvZiB0aGUgcGx1Z2luIGFu ZCBpdCYjODIxNztzIHZlcnNpb24gYW5kIG1ha2VzIGl0IGEgbGluayB0byB0aGUgcGx1Z2lu JiM4MjE3O3MgaG9tZXBhZ2UuPC9kZWw+IDwvdGQ+CgkJPC90cj4KCTwvdGFibGU+Cgk8cD48 c3Ryb25nPkVtcGhhc2l6ZWQgaXRlbXM8L3N0cm9uZz4gaGF2ZSBiZWVuIGFkZGVkIG9yIGNo YW5nZWQgc2luY2UgdGhlIGxhc3QgcmVsZWFzZS48YnIgLz4KPGRlbD5TdHJ1Y2sgb3V0IGl0 ZW1zPC9kZWw+IGhhdmUgYmVlbiByZW1vdmVkIHNpbmNlIHRoZSBsYXN0IHJlbGVhc2UuPC9w PgoJPGgyPkV4YW1wbGVzJiM4MjMwOzwvaDI+Cgk8aDM+QmFzaWMgdXNlLjwvaDM+Cjxjb2Rl PiZsdDt0eHA6c2VkX2Rpc3BsYXlfY29kZSBmaWxlPSdmb28nIC8mZ3Q7PC9jb2RlPgpMb29r cyBmb3IgJiM4MjE2O2Zvby50eHQmIzgyMTc7IGluIHRoZSBkZWZhdWx0IGNvZGUgZGlyZWN0 b3J5IChcY29kZSkgZnJvbSB0aGUgc2l0ZSByb290LiBJZiBpdCBleGlzdHMsIGl0IHdpbGwg ZGlzcGxheSBhIDxjb2RlPiZsdDtkaXYmZ3Q7PC9jb2RlPiB3aXRoIHRoZSBkZWZhdWx0IHRp dGxlIGxpbmUsIHRoZSBsaXN0aW5nIGJvZHkgYW5kIHRoZSBkZWZhdWx0IGRvd25sb2FkIGxp bmsuCjxzdHJvbmc+Tk9URTo8L3N0cm9uZz4gSWYgdGhlIGZpbGUgaXMgY2FsbGVkICYjODIx Njtmb28udHh0JiM4MjE3OywgPHN0cm9uZz5kb24mIzgyMTc7dDwvc3Ryb25nPiB3cml0ZSBm aWxlPSYjODIyMTtmb28udHh0JiM4MjIxOywgPHN0cm9uZz5kbzwvc3Ryb25nPiB3cml0ZSBm aWxlPSYjODIyMTtmb28mIzgyMjE7LgoJPHA+SWYgeW91ciBmaWxlIGlzIGNhbGxlZCBiYXIu YyBhbmQgaXMgaW4gJiM4MjE2O2MgZmlsZXMmIzgyMTc7IHRoZW4gc2ltcGx5IHByZXBhcmUg YmFyLmMudHh0IChtdXN0IGhhdmUgLnR4dCBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlbmFtZSkg aW4gdGhhdCBkaXJlY3RvcnkgYW5kIHVzZTo8YnIgLz4KPGNvZGU+Jmx0O3R4cDpzZWRfZGlz cGxheV9jb2RlIGRpcj0nYyBmaWxlcycgZmlsZT0nYmFyLmMnIC8mZ3Q7PC9jb2RlPjwvcD4K CTxoMz5XcmFwIHRhZyBhbmQgY2xhc3MuPC9oMz4KCTxwPkJ5IGRlZmF1bHQgdGhlIGxpc3Qg d2lsbCBiZSBvdXRwdXQgaW4gYSA8Y29kZT4mbHQ7ZGl2Jmd0OzwvY29kZT4gd2l0aCA8c3Ry b25nPmNsYXNzPSYjODIyMTtzZWRfZGNfd3JhcCYjODIyMTs8L3N0cm9uZz4uIEhvd2V2ZXIs IHlvdSBjYW4gY2hhbmdlIHRoaXMgdXNpbmcgdGhlIHdyYXB0YWcgYW5kIGNsYXNzIGF0dHJp YnV0ZXMmIzgyMzA7PGJyIC8+Cjxjb2RlPiZsdDt0eHA6c2VkX2Rpc3BsYXlfY29kZSBmaWxl PSdoZWFkZXIuaCcgd3JhcHRhZz0ncCcgY2xhc3M9J215LWNsYXNzJyAvJmd0OzwvY29kZT48 L3A+Cgk8cD48c3Ryb25nPk5PVEU6PC9zdHJvbmc+IFVzaW5nIHRoZSBkZWZhdWx0IDxjb2Rl PiZsdDtkaXYmZ3Q7PC9jb2RlPiBpcyByZWNvbW1lbmRlZCBidXQgY2hhbmdpbmcgdGhlIGNs YXNzIGNvdWxkIGJlIHVzZWZ1bCwgYnV0IDxlbT5kb24mIzgyMTc7dCBmb3JnZXQgdG8gaW5j bHVkZSB0aGUgYXBwcm9wcmlhdGUgc3R5bGVzIGluIHlvdXIgc3R5bGUgc2hlZXQhPC9lbT48 L3A+Cgk8aDM+Q3VzdG9taXNpbmcgdGhlIHRpdGxlLjwvaDM+Cgk8cD5UbyB0dXJuIG9mZiB0 aGUgdGl0bGUgdGV4dCBsaW5lJiM4MjMwOzxiciAvPgo8Y29kZT4mbHQ7dHhwOnNlZF9kaXNw bGF5X2NvZGUgZmlsZT0nZm9vJyBsaXN0X3RleHQ9JycgLyZndDs8L2NvZGU+PC9wPgoJPHA+ VG8gZ2l2ZSB0aGUgbGlzdGluZyBhbiBpZGVudGlmaWVyJiM4MjMwOzxiciAvPgo8Y29kZT4m bHQ7dHhwOnNlZF9kaXNwbGF5X2NvZGUgZmlsZT0nZm9vJyBsaXN0X25vPSd4JyAvJmd0Ozwv Y29kZT4gd2hlcmUgJiM4MjE2O3gmIzgyMTc7IGlzIGEgbnVtYmVyJiM4MjEyO29yIHdoYXRl dmVyIHN0cmluZyB5b3Ugd291bGQgbGlrZS48L3A+Cgk8cD5UbyBnaXZlIHRoZSBsaXN0aW5n IGEgZGlmZmVyZW50IGxhYmVsLCBsaWtlICYjODIxNjtzbmlwcGV0IDQmIzgyMTc7JiM4MjMw OzxiciAvPgo8Y29kZT4mbHQ7dHhwOnNlZF9kaXNwbGF5X2NvZGUgZmlsZT0nZm9vJyBsaXN0 X3RleHQ9J3NuaXBwZXQnIGxpc3Rfbm89JzQnIC8mZ3Q7PC9jb2RlPjwvcD4KCTxoMz5DdXN0 b21pc2luZyB0aGUgZG93bmxvYWQgbGluay48L2gzPgoJPHA+VG8gb21pdCB0aGUgZG93bmxv YWQgbGluayB0b3RhbGx5JiM4MjMwOzxiciAvPgo8Y29kZT4mbHQ7dHhwOnNlZF9kaXNwbGF5 X2NvZGUgZmlsZT0nZm9vJyBsaW5rX3RleHQ9JycgLyZndDs8L2NvZGU+PC9wPgoJPHA+VG8g Y2hhbmdlIHRoZSBsaW5rIHRleHQgYW5kIHRoZSBwb3AtdXAgbGFiZWwgdGhhdCBnb2VzIHdp dGggaXQmIzgyMzA7PC9wPgo8Y29kZT4mbHQ7dHhwOnNlZF9kaXNwbGF5X2NvZGUgZmlsZT0n Zm9vJyBsaW5rX3RleHQ9J0dyYWIgdGhlIGNvZGUhJyBsaW5rX3RpdGxlPSdSaWdodCBjbGlj ayBhbmQgc2F2ZSBhcyYjODIzMDsnIC8mZ3Q7PC9jb2RlPgoJPHA+VG8gdXNlIHRoZSBUZXh0 cGF0dGVybiBmaWxlIG1hbmFnZXIsIHNldCB0aGUgPGVtPmRpcjwvZW0+IGF0dHJpYnV0ZSB0 byBtYXRjaCB5b3VyIFRleHRwYXR0ZXJuIGluc3RhbGwmIzgyMTc7cyBmaWxlcyBkaXJlY3Rv cnkuIEJ5IGRlZmF1bHQgdGhpcyBpcyAmIzgyMTY7ZmlsZXMmIzgyMTc7LjwvcD4KCTxwPlVw bG9hZCB5b3VyIC50eHQgZmlsZXMgdGhyb3VnaCB0aGUgYWRtaW4gaW50ZXJmYWNlLjwvcD4K PGNvZGU+Jmx0O3R4cDpzZWRfZGlzcGxheV9jb2RlIGZpbGU9J3NuaXAucGhwJyBkaXI9J2Zp bGVzJyBsaW5rX3RleHQ9J0dyYWIgdGhlIGNvZGUnLyZndDs8L2NvZGU+Cgk8cD5UaGlzIHdp bGwgcHJvZHVjZSBhIGRvd25sb2FkIGxpbmsgdmlhIHRoZSBUWFAgZmlsZSBoYW5kbGluZyBm dW5jdGlvbnMgc28gdGhhdCB0aGUgZG93bmxvYWQgY291bnQgd2lsbCBiZSByZWNvcmRlZC4g SWYgeW91IHdhbnQgdG8gc2VlIHRoZSBjdXJyZW50IGRvd25sb2FkIGNvdW50IGFzIHBhcnQg b2YgdGhlIGRvd25sb2FkIGxpbmsgdGhlbiB5b3Ugd2lsbCBuZWVkIHRvIHN1cHBseSB0aGUg bmV3IDxzdHJvbmc+c2hvd19jb3VudDwvc3Ryb25nPiBhdHRyaWJ1dGUgYW5kIHNldCBpdCB0 byB0aGUgc3RyaW5nIHlvdSB3YW50IHRvIGRlc2NyaWJlIHRoZSBjb3VudC4gTGlrZSB0aGlz Oi08L3A+Cjxjb2RlPiZsdDt0eHA6c2VkX2Rpc3BsYXlfY29kZSBmaWxlPSdzbmlwLnBocCcg ZGlyPSdmaWxlcycgbGlua190ZXh0PSdHcmFiIHRoZSBjb2RlJyBzaG93X2NvdW50PSdEb3du bG9hZHM6Jy8mZ3Q7PC9jb2RlPgoJPGgzPkRpc3BsYXlpbmcgYSAmIzgyMTY7Y2h1bmsmIzgy MTc7IG9mIGEgZmlsZS48L2gzPgoJPHA+VG8gZGlzcGxheSBsaW5lIDIwIG9ud2FyZHMgZnJv bSBmaWxlIGZvby50eHQgdXNlJiM4MjMwOzxiciAvPgo8Y29kZT4mbHQ7dHhwOnNlZF9kaXNw bGF5X2NvZGUgZmlsZT0nZm9vJyBzdGFydD0nMjAnIC8mZ3Q7PC9jb2RlPjwvcD4KCTxwPlRv IGRpc3BsYXkgZnJvbSB0aGUgc3RhcnQgb2YgYmFyLnR4dCB0byBsaW5lIDMwIHVzZSYjODIz MDs8YnIgLz4KPGNvZGU+Jmx0O3R4cDpzZWRfZGlzcGxheV9jb2RlIGZpbGU9J2JhcicgZW5k PSczMCcgLyZndDs8L2NvZGU+PC9wPgoJPHA+VG8gZGlzcGxheSBsaW5lcyAyMyB0byAzMiBv ZiBmaWxlIGFjY291bnRzLnBocC50eHQgdXNlJiM4MjMwOzxiciAvPgo8Y29kZT4mbHQ7dHhw OnNlZF9kaXNwbGF5X2NvZGUgZmlsZT0nYWNjb3VudHMucGhwJyBzdGFydD0nMjMnIGVuZD0n MzInIC8mZ3Q7PC9jb2RlPjwvcD4KCTxoMz5QbGF5aW5nIHdpdGggaGlnaGxpZ2h0cy48L2gz PgoJPHA+VG8gbGlzdCBmaWxlIGJhei5jLnR4dCBhbmQgdG8gaGlnaGxpZ2h0IGxpbmVzIDI1 LCAzMCBhbmQgMzIgd2l0aCBzdHlsZSAmIzgyMTY7aGkxJiM4MjE3OyB1c2UmIzgyMzA7PGJy IC8+Cjxjb2RlPiZsdDt0eHA6c2VkX2Rpc3BsYXlfY29kZSBmaWxlPSdiYXouYycgaGlnaGxp Z2h0MT0nMjUsMzAsMzInIC8mZ3Q7PC9jb2RlPjwvcD4KCTxwPklmIHlvdSB3YW50ZWQgdG8g aGlnaGxpZ2h0IHdpdGggc3R5bGVzICYjODIxNjtoaTImIzgyMTc7IGFuZCAmIzgyMTY7aGkz JiM4MjE3O2FzIHdlbGwgdGhlbiBhZGQmIzgyMzA7PGJyIC8+Cjxjb2RlPiZsdDt0eHA6c2Vk X2Rpc3BsYXlfY29kZSBmaWxlPSdiYXouYycgaGlnaGxpZ2h0MT0nMjUsMzAsMzInIGhpZ2hs aWdodDI9JzUsMTAnIGhpZ2hsaWdodDM9JzMxJy8mZ3Q7PC9jb2RlPjwvcD4KCTxwPjxzdHJv bmc+Tk9URTo8L3N0cm9uZz4gU2ltcGx5IHVzZSBhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9m IG51bWJlcnMgaW4gdGhlIGhpZ2hsaWdodDEvMi8zIGF0dHJpYnV0ZXMgdG8gdGFnIHRob3Nl IHJvd3MgYXMgbmVlZGVkLiBXaGljaCBoaWdobGlnaHQgdGFrZXMgcHJlY2VkZW5jZSB3aWxs IGRlcGVuZCB1cG9uIHRoZSBvcmRlciBvZiB0aGUgc3R5bGUgcnVsZXMgaW4geW91ciBzdHls ZSBzaGVldC48L3A+Cgk8aDI+RXhhbXBsZSBDU1MgbWFya3VwLjwvaDI+Cgk8cD5IZXJlIGlz IGFuIGV4YW1wbGUgb2YgdXNhYmxlIENTUyBmb3IgdGhpcyBwbHVnaW4uPGJyIC8+Cjxjb2Rl PjxiciAvPgpkaXYuc2VkX2RjX3dyYXAgezxiciAvPgpmb250OjFlbS8xLjRlbSAiQ291cmll ciBOZXciLCBjb3VyaWVyLCBtb25vc3BhY2U7PGJyIC8+CmNvbG9yOiMzMzM7PGJyIC8+CmJv cmRlcjowIHNvbGlkICM5OTk7PGJyIC8+CmJvcmRlci13aWR0aDoxcHggMCAwOzxiciAvPgpw YWRkaW5nOjAuNWVtIDA7PGJyIC8+Cm1hcmdpbjoyZW0gMC41ZW0gMC41ZW07PGJyIC8+Cm92 ZXJmbG93OiBoaWRkZW47PGJyIC8+Cn08YnIgLz4KdGFibGUuc2VkX2RjIHs8YnIgLz4KYm9y ZGVyLWNvbGxhcHNlOmNvbGxhcHNlOzxiciAvPgp3aWR0aDo5OSU7PGJyIC8+Cn08YnIgLz4K dGFibGUuc2VkX2RjIGNhcHRpb24sIHAuc2VkX2RjIHs8YnIgLz4KdGV4dC1hbGlnbjogY2Vu dGVyOzxiciAvPgpmb250OiBib2xkIDEycHggQXJpYWwsIHNhbnMtc2VyaWY7PGJyIC8+Cmxl dHRlci1zcGFjaW5nOiAxcHg7PGJyIC8+CmNvbG9yOiAjNjkzOzxiciAvPgp9PGJyIC8+CnRh YmxlLnNlZF9kYyBjYXB0aW9uIHs8YnIgLz4KdGV4dC1hbGlnbjogbGVmdDs8YnIgLz4KYm9y ZGVyOjA7PGJyIC8+Cm1hcmdpbjowOzxiciAvPgp0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNl OzxiciAvPgp9PGJyIC8+CnAuc2VkX2RjIHs8YnIgLz4KbWFyZ2luLXRvcDo1cHg7PGJyIC8+ CmZvbnQtdmFyaWFudDogc21hbGwtY2Fwczs8YnIgLz4KfTxiciAvPgp0YWJsZS5zZWRfZGMg dHIgezxiciAvPgp2ZXJ0aWNhbC1hbGlnbjp0b3A7PGJyIC8+CmJhY2tncm91bmQ6IHdoaXRl IG5vbmU7PGJyIC8+Cm92ZXJmbG93OiBoaWRkZW47PGJyIC8+Cn08YnIgLz4KdGFibGUuc2Vk X2RjIHRyLm9kZCB7IGJhY2tncm91bmQ6ICNlNmU2ZmEgbm9uZTsgfTxiciAvPgp0YWJsZS5z ZWRfZGMgdHIuaGkxLCAuaGkxIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwNjQwMDsgY29sb3I6 IHdoaXRlOyBmb250LXdlaWdodDogYm9sZDsgfTxiciAvPgp0YWJsZS5zZWRfZGMgdHIuaGky LCAuaGkyIHsgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OyAgY29sb3I6IGJsYWNrOyBmb250 LXdlaWdodDogYm9sZDsgfTxiciAvPgp0YWJsZS5zZWRfZGMgdHIuaGkzLCAuaGkzIHsgYmFj a2dyb3VuZC1jb2xvcjogI2FkZDhlNjsgY29sb3I6IGJsYWNrOyBmb250LXdlaWdodDogYm9s ZDsgfTxiciAvPgp0YWJsZS5zZWRfZGMgY29sLmxpbmUtbm97IGJvcmRlci1yaWdodDoxcHgg c29saWQgIzk5OTsgfTxiciAvPgp0YWJsZS5zZWRfZGMgdGggeyBmb250LXdlaWdodDogYm9s ZDsgdGV4dC1hbGlnbjogY2VudGVyOyB9PGJyIC8+CnRhYmxlLnNlZF9kYyB0ZCB7IHBhZGRp bmc6MCAwLjVlbTsgfTxiciAvPgp0YWJsZS5zZWRfZGMgdGQudGFiMCB7IHBhZGRpbmctbGVm dDoxLjVlbTsgfTxiciAvPgp0YWJsZS5zZWRfZGMgdGQudGFiMSB7IHBhZGRpbmctbGVmdDoz ZW07IH08YnIgLz4KdGFibGUuc2VkX2RjIHRkLnRhYjIgeyBwYWRkaW5nLWxlZnQ6NC41ZW07 IH08YnIgLz4KdGFibGUuc2VkX2RjIHRkLnRhYjMgeyBwYWRkaW5nLWxlZnQ6NmVtOyB9PGJy IC8+CnRhYmxlLnNlZF9kYyB0ZC50YWI0IHsgcGFkZGluZy1sZWZ0OjcuNWVtOyB9PGJyIC8+ CnRhYmxlLnNlZF9kYyB0ZC50YWI1IHsgcGFkZGluZy1sZWZ0OjllbTsgfTxiciAvPgp0YWJs ZS5zZWRfZGMgdGQudGFiNiB7IHBhZGRpbmctbGVmdDoxMC41ZW07IH08YnIgLz4KcC5zZWRf ZGNfZXJyb3IgezxiciAvPgpib3JkZXI6IDFweCBkb3R0ZWQgcmVkOzxiciAvPgpiYWNrZ3Jv dW5kLWNvbG9yOiAjRkZDQ0NDOzxiciAvPgptYXJnaW46IDVweDs8YnIgLz4KcGFkZGluZzog NXB4OzxiciAvPgp9PGJyIC8+CnRhYmxlLnNlZF9kYyB0cjpob3ZlciB0ZCB7IGJhY2tncm91 bmQ6ICM0ODNkOGI7IGNvbG9yOiB3aGl0ZTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH08YnIgLz4K PC9jb2RlPjwvcD4KCTxwPjxzdHJvbmc+Tk9URTwvc3Ryb25nPiBUaGUgbGFzdCBsaW5lIGFs bG93cyBzb21lIGJyb3dzZXJzIHRvIGhpZ2hsaWdodCB0aGUgbGluZSB5b3UgYXJlIHBvaW50 aW5nIGF0IHdpdGggdGhlIG1vdXNlLjwvcD4KCTxoMj5Uby1EbyBhbmQgRmVhdHVyZSBFbmhh bmNlbWVudHMuPC9oMj4KCTxwPkZlYXR1cmUgaWRlYXMgKGluIHNlcXVlbmNlIG9mIDxzdHJv bmc+bGlrZWx5PC9zdHJvbmc+IGltcGxlbWVudGF0aW9uKSYjODIzMDs8L3A+Cgk8dWw+CgkJ PGxpPkNvbnZlcnQgY29kZSB0byB1c2UgY2xhc3NlcyB0byBidWlsZCB0aGUgdW5kZXJseWlu ZyB4aHRtbCByZXByZXNlbnRhdGlvbnMmIzgyMzA7Cgk8dWw+CgkJPGxpPk9uZSBmb3IgdGFi bGUgYmFzZWQgc3RydWN0dXJlIChjcm9zcyBicm93c2VyIGxheW91dCBjb25zaXN0ZW5jeSwg dmFsaWRhdGlvbik8L2xpPgoJCTxsaT5PbmUgZm9yIG9yZGVyZWQgbGlzdHMgKGJldHRlciBz ZW1hbnRpYyBtYXRjaCwgbGVzcyBjb25zaXN0ZW5jeSBhbmQgcG9zc2libGUgdmFsaWRhdGlv biBmYWlsdXJlcyBpbiBzdHJpY3QgRG9jVHlwZXMpLjwvbGk+Cgk8L3VsPjwvbGk+Cgk8L3Vs PgoJPGgyPlZlcnNpb24gSGlzdG9yeS48L2gyPgoJPHA+djAuNSBKdW5lIDEwdGgsIDIwMDYu PC9wPgoJPHVsPgoJCTxsaT5JbnRlZ3JhdGVkIHN1cHBvcnQgZm9yIHVwbG9hZHMgdmlhIHRo ZSBUWFAgYWRtaW4gaW50ZXJmYWNlLjwvbGk+CgkJPGxpPkFkZGVkIGRvd25sb2FkIGNvdW50 ZXIgdmlhIGEgbmV3IGF0dHJpYnV0ZTwvbGk+Cgk8L3VsPgoJPHA+djAuNCBBcHJpbCAyM3Jk LCAyMDA2LjwvcD4KCTx1bD4KCQk8bGk+U2ltcGxpZmllZCB0aGUgdGFibGUgbWFya3VwLjwv bGk+CgkJPGxpPkFkZGVkIHRoZSBzdW1tYXJ5IGF0dHJpYnV0ZSB0byB0aGUgdGFibGUgZGVj bGFyYXRpb24uPC9saT4KCQk8bGk+QWRkZWQgbmV3IHRhZyBhdHRyaWJ1dGVzIHRvIGNvbnRy b2wgY2xhc3NlcyBhbmQgYWxsb3cgaW50ZXJuYXRpb25hbGlzYXRpb24gb2Ygb3V0cHV0IHRl eHQuPC9saT4KCTwvdWw+Cgk8cD52MC4zIEFwcmlsIDIybmQsIDIwMDYuPC9wPgoJPHVsPgoJ CTxsaT5DaGFuZ2VkIHRoZSBtYXJrdXAgZ2VuZXJhdGVkIGZvciB0aGUgY29sZ3JvdXAgY29s dW1ucyBmcm9tICYjODIyMDtpZCYjODIyMTsgdG8gJiM4MjIwO2NsYXNzJiM4MjIxOyBzbyB0 aGF0IHRoZSB0YWcgY2FuIGJlIHVzZWQgbWFueSB0aW1lcyBvbiB0aGUgc2FtZSBwYWdlIHdp dGhvdXQgdHJpZ2dlcmluZyBhIHZhbGlkYXRpb24gd2FybmluZyBvZiBtdWx0aXBsZSBpbnN0 YW5jZXMgb2YgdGhlIHNhbWUgaWQuPC9saT4KCTwvdWw+Cgk8cD52MC4yIE1hcmNoIDI4dGgs IDIwMDYuPC9wPgoJPHVsPgoJCTxsaT5BZGRlZCBhIHdheSBvZiBvbmx5IGxpc3RpbmcgYSBj ZXJ0YWluIHNwYW4gb2YgbGluZXMgZnJvbSB0aGUgZ2l2ZW4gc291cmNlIGZpbGUuPC9saT4K CQk8bGk+QWRkZWQgYSB3YXkgb2YgaGlnaGxpZ2h0aW5nIGNlcnRhaW4gcm93cyBpbiB0aGUg bGlzdGluZy48L2xpPgoJCTxsaT5BZGRlZCBoaWdobGlnaHRpbmcgb2Ygb2RkL2V2ZW4gcm93 cy48L2xpPgoJCTxsaT5BZGRlZCBoaWdobGlnaHRpbmcgb2YgbGluZXMgcG9pbnRlZCBhdCBi eSBtb3VzZS48L2xpPgoJCTxsaT5DaGFuZ2VkIG1ldGhvZCBvZiBkaXNwbGF5aW5nIGRhdGEg ZnJvbSBhbiBvcmRlcmVkIGxpc3QgdG8gdGFidWxhciBkYXRhIGluIG9yZGVyIHRvIGJldHRl ciBzdXBwb3J0IGxpbmUgd3JhcHBpbmcgZm9yIGxvbmcgc291cmNlIGxpbmVzLjwvbGk+Cgk8 L3VsPgoJPHA+djAuMSBJbXBsZW1lbnRlZCB0aGUgZm9sbG93aW5nIGZlYXR1cmVzJiM4MjMw OzwvcD4KCTx1bD4KCQk8bGk+U3R5bGVkLCB1bm9yZGVyZWQgbGlzdCBmcm9tIGdpdmVuIGlu cHV0IGZpbGUuPC9saT4KCQk8bGk+TGlnaHR3ZWlnaHQgbWFya3VwLjwvbGk+CgkJPGxpPkNv cnJlY3RseSBpbmRlbnRzIGxlYWRpbmcgdGFicy48L2xpPgoJCTxsaT5TdHJpcHMgbGVhZGlu ZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZS48L2xpPgoJCTxsaT5QcmVzZXJ2ZXMgYmxhbmsg bGluZXMgZnJvbSB0aGUgc291cmNlIGZpbGUuPC9saT4KCQk8bGk+U3RyaXBzIGFueSB0YWJz IG91dCBvZiB0aGUgbWlkZGxlIG9mIGxpbmVzLjwvbGk+CgkJPGxpPkN1c3RvbWlzYWJsZSB0 aXRsZSBiZWZvcmUgdGhlIGxpc3RpbmcgKGNhbiBiZSBvbW1pdGVkIGlmIG5vdCBuZWVkZWQp LjwvbGk+CgkJPGxpPkN1c3RvbWlzYWJsZSBkb3dubG9hZCBsaW5rIGFmdGVyIHRoZSBsaXN0 aW5nIChjYW4gYmUgb21taXRlZCBpZiBub3QgbmVlZGVkKS48L2xpPgoJPC91bD4KCTxoMj5D cmVkaXRzLjwvaDI+Cgk8cD5UaGlzIGlzIChsb29zZWx5KSBiYXNlZCBvbiA8YSBocmVmPSJo dHRwOi8vdGV4dHBhdHRlcm4ub3JnL3BsdWdpbnMvMjAzL2dseGNvZGUiPnRoZSBnbHhfY29k ZSB2MC4zIHBsdWdpbjwvYT4gd2hpY2gsIGluIHR1cm4sIHdhcyBpbnNwaXJlZCBieSA8YSBo cmVmPSJodHRwOi8vMTk3NmRlc2lnbi5jb20vYmxvZy9hcmNoaXZlLzIwMDQvMDcvMjkvcmVk ZXNpZ24tdGFnLXRyYW5zZm9ybS8iPkR1bnN0YW4mIzgyMTc7cyB3ZWJzaXRlPC9hPi48L3A+ Cgk8cD5UaGUgVFhQIGZpbGUgZG93bmxvYWQgaW50ZWdyYXRpb24gaWRlYSBmb3IgdjAuNSBj YW1lIGZyb20gPGEgaHJlZj0iaHR0cDovL3d3dy5hZGFtbWVzc2luZ2VyLmNvbS8iPkFkYW0g TWVzc2luZ2VyPC9hPi48L3A+Cgk8cD48L2Rpdj48L3A+IjtzOjM6Im1kNSI7czozMjoiY2Ew MmY4YjIwMGNlM2ZlOTlhODE0OGFlNzZkMmQ4NGEiO30=