ZGlmZiAtLWdpdCBhL2V1cm9wYXJldmlld3MucGhwIGIvZXVyb3BhcmV2aWV3cy5waHAKaW5kZXggN2NkN2M3OC4uODgxOTBiYSAxMDA2NDQKLS0tIGEvZXVyb3BhcmV2aWV3cy5waHAKKysrIGIvZXVyb3BhcmV2aWV3cy5waHAKQEAgLTEsNCArMSw0IEBACi08P3BocCAgCQllcnJvcl9yZXBvcnRpbmcoRV9BTEwpOwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlyZXF1aXJlX29uY2UoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSAuICIvZWNsaXBzZS5vcmctY29tbW9uL3N5c3RlbS9hcHAuY2xhc3MucGhwIik7CXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL25hdi5jbGFzcy5waHAiKTsgCXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL21lbnUuY2xhc3MucGhwIik7IAkkQXBwIAk9IG5ldyBBcHAoKTsJJE5hdgk9IG5ldyBOYXYoKTsJJE1lbnUgCT0gbmV3IE1lbnUoKTsJCWluY2x1ZGUoJEFwcC0+Z2V0UHJvamVjdENvbW1vbigpKTsgICAgIyBBbGwgb24gdGhlIHNhbWUgbGluZSB0byB1bmNsdXR0ZXIgdGhlIHVzZXIncyBkZXNrdG9wJworPD9waHAgIAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL2FwcC5jbGFzcy5waHAiKTsJcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbmF2LmNsYXNzLnBocCIpOyAJcmVxdWlyZV9vbmNlKCRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gLiAiL2VjbGlwc2Uub3JnLWNvbW1vbi9zeXN0ZW0vbWVudS5jbGFzcy5waHAiKTsgCSRBcHAgCT0gbmV3IEFwcCgpOwkkTmF2CT0gbmV3IE5hdigpOwkkTWVudSAJPSBuZXcgTWVudSgpOwkJaW5jbHVkZSgkQXBwLT5nZXRQcm9qZWN0Q29tbW9uKCkpOyAgICAjIEFsbCBvbiB0aGUgc2FtZSBsaW5lIHRvIHVuY2x1dHRlciB0aGUgdXNlcidzIGRlc2t0b3AnCiAKIAkjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAkjCkBAIC0yNiwxMiArMjYsMTAgQEAKIAogCSMgRW5kOiBwYWdlLXNwZWNpZmljIHNldHRpbmdzCiAJIwotCXJlcXVpcmVfb25jZSgic2NyaXB0cy9yZXZpZXcucGhwIik7CQorCQkKIAkjIFBhc3RlIHlvdXIgSFRNTCBjb250ZW50IGJldHdlZW4gdGhlIEVPSFRNTCBtYXJrZXJzIQkKLQkKLQlvYl9zdGFydCgpOwotCT8+Ci0JPHNjcmlwdCBzcmM9Ii9ob21lL3NjcmlwdHMvZnVuY3Rpb25zLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KKwkkaHRtbCA9IDw8PEVPSFRNTAorCiAJPGRpdiBpZD0ibWlkY29sdW1uIj4KIAkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ibGF5b3V0LmNzcyIgbWVkaWE9InNjcmVlbiIgLz4KIAkJPGRpdiBpZD0iaGVhZGVyQkciPgpAQCAtNDIsNyArNDAsNyBAQAogCQkJPC90YWJsZT4KIAkJPC9kaXY+CiAJCi0JCTxoMT48Pz0kcGFnZVRpdGxlOz8+PC9oMT4KKwkJPGgxPiRwYWdlVGl0bGU8L2gxPgogCQkKIAogCQkKQEAgLTUzLDYzICs1MSwyMzggQEAKIAkJCXBvcnRhbC4gIEZvbGxvd2luZyBpcyBhIGxpc3Qgb2YgbGlua3MgdG8gdGhlIHJldmlld3MgdGhhdCB3ZXJlIHN1Ym1pdHRlZC4JCiAJCTwvcD4KIAkJCisgICAgICAgIDxwPgorCQk8dGFibGUgcnVsZXM9cm93cyBjZWxscGFkZGluZz0iMTAiIGNlbGxzcGFjaW5nPSIwIj4KIAkJCi0JCQotCQk8dGFibGUgIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgogCQkJPHRyIGJnY29sb3I9IzY2NjY5OT4KIAkJCQk8dGQ+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzdHJvbmc+TGluazwvc3Ryb25nPjwvZm9udD48L3RkPgogCQkJCTx0ZD48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHN0cm9uZz5BdXRob3I8L3N0cm9uZz48L2ZvbnQ+PC90ZD4KLQkJCQk8dGQ+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzdHJvbmc+RGF0ZTwvc3Ryb25nPjwvZm9udD48L3RkPgorCQkJCTx0ZD48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHN0cm9uZz5CbG9nL1NpdGU8L3N0cm9uZz48L2ZvbnQ+PC90ZD4KIAkJCQk8dGQ+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzdHJvbmc+TGFuZ3VhZ2U8L3N0cm9uZz48L2ZvbnQ+PC90ZD4KIAkJCTwvdHI+Ci0JCQotIAk8PyAKLSAgICAgICAJJHJldmlld3NDYXRhbG9nID0gJHJldmlld3NQYXJzZXItPnJldmlld3NDYXRhbG9nOwotICAgICAgICAkY291bnRlciA9IGNvdW50KCRyZXZpZXdzQ2F0YWxvZyk7Ci0gICAgICAgICRpID0wOwotICAgICAgICAkZmxvYXQgPSAicmlnaHQiOwotICAgICAgIAl3aGlsZSAoJGkgPCAkY291bnRlcikKLSAgICAgICAJewotICAgICAgIAkJJHRpdGxlID0gbWJfY29udmVydF9lbmNvZGluZyh0cmltKCRyZXZpZXdzQ2F0YWxvZ1skaV1bMF0pLCAiSFRNTC1FTlRJVElFUyIsICJhdXRvIik7Ci0gICAgICAgCQkkbGluayA9IG1iX2NvbnZlcnRfZW5jb2RpbmcoJHJldmlld3NDYXRhbG9nWyRpXVsxXSwgIkhUTUwtRU5USVRJRVMiLCAiYXV0byIpOwotICAgICAgIAkJJGF1dGhvciA9IG1iX2NvbnZlcnRfZW5jb2RpbmcoJHJldmlld3NDYXRhbG9nWyRpXVsyXSwgIkhUTUwtRU5USVRJRVMiLCAiYXV0byIpOwotICAgICAgIAkJJGRhdGUgPSBtYl9jb252ZXJ0X2VuY29kaW5nKCRyZXZpZXdzQ2F0YWxvZ1skaV1bM10sICJIVE1MLUVOVElUSUVTIiwgImF1dG8iKTsKLSAgICAgICAJCSRsYW5ndWFnZSA9IG1iX2NvbnZlcnRfZW5jb2RpbmcoJHJldmlld3NDYXRhbG9nWyRpXVs0XSwgIkhUTUwtRU5USVRJRVMiLCAiYXV0byIpOwotICAgICAgIAkJJHNob3J0RGVzYyA9IG1iX2NvbnZlcnRfZW5jb2RpbmcoJHJldmlld3NDYXRhbG9nWyRpXVs1XSwgIkhUTUwtRU5USVRJRVMiLCAiYXV0byIpOwotICAgICAgIAkJPz4KLQkJICAgICAgIAkJPHRyPgotCQkJCQkJPHRkPgotCQkJCQkJCTxkaXYgY2xhc3M9ImludmlzaWJsZSIgaWQ9Ijw/PSR0aXRsZTs/PiI+PGEgbmFtZT0iPD89JHRpdGxlOz8+IiBjbGFzcz0ibm9yZ2llIiBvbkNsaWNrPSJ0KCc8Pz0kdGl0bGU7Pz4nLCc8Pz0kdGl0bGU7Pz5hJykiPjwvYT4KLQkJCQkJCQkJPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Ijw/PSRsaW5rOz8+Ij48Pz0kdGl0bGU7Pz48L2E+Ci0JCQkJCQkJPC9kaXY+Ci0JCQkJCQk8L3RkPgotCQkJCQkJPHRkPjw/PSRhdXRob3I7Pz48L3RkPgotCQkJCQkJPHRkPjw/PSRkYXRlOz8+PC90ZD4KLQkJCQkJCTx0ZD48Pz0kbGFuZ3VhZ2U7Pz48L3RkPgotCQkJCQk8L3RyPgotCQkJCQk8dHIgY2xhc3M9ImJvdHRvbUJvcmRlciI+Ci0JCQkJCQk8dGQgY29sc3Bhbj0iNCI+Ci0JCQkJCQkJPGRpdiBjbGFzcz0iaW52aXNpYmxlIiBpZD0iPD89JHRpdGxlOz8+YSI+Ci0JCQkJCQkJCTxkaXYgY2xhc3M9Iml0ZW1fY29udGVudHMiPgotCQkJCQkJCQk8Pz0kc2hvcnREZXNjOz8+Ci0JCQkJCQkJCTwvZGl2PgotCQkJCQkJCTwvZGl2PgotCQkJCQkJPC90ZD4KLQkJCQkJPC90cj4KLQkJCQkKLQkKLQkJPD8gCi0JCSRpKys7Ci0gICAgICAgCX0KLSAgICAgICAgPz4gICAgICAgIAotICAgICAgIAkJCQkJCi0JCTwvdGFibGU+CisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9pcmJ1bGwuYmxvZ3Nwb3QuY29tLzIwMDcvMDcvZXVyb3BhLW15LXRvcC0xMC1saXN0Lmh0bWwiPkV1cm9wYSwgTXkgVG9wIDEwIExpc3Q8L2E+PC90ZD4KKwkJCQk8dGQ+SWFuIEJ1bGw8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vaXJidWxsLmJsb2dzcG90LmNvbSI+QnVsbCdzIEJsb2c8L2E+PC90ZD4KKwkJCQk8dGQ+RW5nbGlzaDwvdGQ+CisJCQk8L3RyPgorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vcnVubmVyd2hvY29kZXMuYmxvZ3Nwb3QuY29tLzIwMDcvMDcvZWNsaXBzZS1ldXJvcGEtcmV2aWV3LWZvci11c2VyLWFuZC5odG1sIj5FY2xpcHNlIEV1cm9wYSBSZXZpZXc6IEZvciBVc2VyIGFuZCBEZXZlbG9wZXI8L2E+PC90ZD4KKwkJCQk8dGQ+RGFyaW4gU3dhbnNvbjwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9ydW5uZXJ3aG9jb2Rlcy5ibG9nc3BvdC5jb20iPlJ1bm5pbmcgYW5kIENvZGluZzwvYT48L3RkPgorCQkJCTx0ZD5FbmdsaXNoPC90ZD4KKwkJCTwvdHI+CisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9kZXYuZWNsaXBzZS5vcmcvYmxvZ3MvaG9uZ2NoYW5nbGluLzIwMDcvMDcvMDMvZWNsaXBzZS1ldXJvcGEtYmlydC8iPkVjbGlwc2UgRXVyb3BhIEJJUlQ8L2E+PC90ZD4KKwkJCQk8dGQ+SG9uZ2NoYW5nIChLZW4pIExpbjwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9kZXYuZWNsaXBzZS5vcmcvYmxvZ3MvaG9uZ2NoYW5nbGluIj5kZXYuZWNsaXBzZS5vcmcvYmxvZ3M8L2E+PC90ZD4KKwkJCQk8dGQ+RW5nbGlzaDwvdGQ+CisJCQk8L3RyPgorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LnRoZXNjcmVlbmNhc3QuY29tLzIwMDcvMDcvdG91ci1hcm91bmQtZXVyb3BlLWVjbGlwc2UtZm9yLWphdmEtZWUuaHRtbCAiPlRvdXIgYXJvdW5kIEV1cm9wYTogRWNsaXBzZSBmb3IgSmF2YSBFRTwvYT48L3RkPgorCQkJCTx0ZD5Wb2ppbWlyIEdvbGVtPC90ZD4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy50aGVzY3JlZW5jYXN0LmNvbSI+VGhlIFNjcmVlbmNhc3QgQmxvZzwvYT48L3RkPgorCQkJCTx0ZD5FbmdsaXNoPC90ZD4KKwkJCTwvdHI+CisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9qc29sdXRpb25zLnNlLz9wPTE3MiI+RWNsaXBzZSBUcmlja3MgLSBTdGF2bmluZ3Nrb250cm9sbCBtZWQgRWNsaXBzZSAzLjM8L2E+PC90ZD4KKwkJCQk8dGQ+TWFya3VzIFdhaGw8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vanNvbHV0aW9ucy5zZSI+SlNvbHV0aW9ucy5zZTwvYT48L3RkPgorCQkJCTx0ZD5Td2VkaXNoPC90ZD4KKwkJCTwvdHI+CisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly80cmVtZW1icmFuY2UuYmxvZ3Nwb3QuY29tLzIwMDcvMDcvaG9vcmF5LWZvci1teWx5bi10YXNrLWZvY3VzZWRfMDIuaHRtbCI+SG9vcmF5IEZvciBNeWx5bjogVGFzay1mb2N1c2VkIERldmxvcG1lbnQgaW4gRWNsaXBzZSAzLjMgKEV1cm9wYSk8L2E+PC90ZD4KKwkJCQk8dGQ+WGlhbmcgTGk8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vNHJlbWVtYnJhbmNlLmJsb2dzcG90LmNvbSI+UmV0cm9zcGVjdHM8L2E+PC90ZD4KKwkJCQk8dGQ+RW5nbGlzaDwvdGQ+CisJCQk8L3RyPgorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LnZvZ2VsbGEuZGUvYXJ0aWNsZXMvRWNsaXBzZVJldmlldy9hcnRpY2xlLmh0bWwiPkVjbGlwc2UgRXVyb3BhPC9hPjwvdGQ+CisJCQkJPHRkPkxhcnMgVm9nZWw8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LnZvZ2VsbGEuZGUvYXJ0aWNsZXMiPlZvZ2VsbGEuZGU8L2E+PC90ZD4KKwkJCQk8dGQ+RW5nbGlzaDwvdGQ+CisJCQk8L3RyPgorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vZWZmb3JkLm9yZy9ibG9nL2FyY2hpdmVzLzI1Ij5FY2xpcHNlIEV1cm9wYTogZXZvbHV0aW9uIG9yIHJldm9sdXRpb24/PC9hPjwvdGQ+CisJCQkJPHRkPk5pY2sgRWZmb3JkPC90ZD4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL2VmZm9yZC5vcmcvYmxvZyI+UHl0aG9uZWVyJ3MgSm91cm5hbCc8L2E+PC90ZD4KKwkJCQk8dGQ+RW5nbGlzaDwvdGQ+CisJCQk8L3RyPgkJCQorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LnZvbHVtZTQuY29tLzIwMDcvMDYvMzAvZWNsaXBzZS1ldXJvcGEtcmV2aWV3LyI+RWNsaXBzZSBFdXJvcGE6IFRoZSBuZXh0IGdlbmVyYXRpb24gSURFPC9hPjwvdGQ+CisJCQkJPHRkPlNjaGFsayBOZWV0aGxpbmc8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LnZvbHVtZTQuY29tIj5Wb2x1bWU0IC0gVGhlIGJsb2cgb2YgU2NoYWxrIE5lZXRobGluZzwvYT48L3RkPgorCQkJCTx0ZD5FbmdsaXNoPC90ZD4KKwkJCTwvdHI+CQorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vYmxvZy5jc2RuLm5ldC9hbGV4bWFqeS9hcmNoaXZlLzIwMDcvMDcvMDEvMTY3MzAyOS5hc3B4Ij5FY2xpcHNlIEV1cm9wYSBBcnJpdmVkPC9hPjwvdGQ+CisJCQkJPHRkPkp1bnlhbiBNYTwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9ibG9nLmNzZG4ubmV0L2FsZXhtYWp5Ij5UZWNobmljYWwgUGFyYWRpc2UgSXNsYW5kPC9hPjwvdGQ+CisJCQkJPHRkPkNoaW5lc2U8L3RkPgorCQkJPC90cj4JCQkJCisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9ibG9nLmNzZG4ubmV0L3lhd29sZi9hcmNoaXZlLzIwMDcvMDYvMzAvMTY3Mjg4OS5hc3B4Ij5FY2xpcHNlIEhlbHBzIE1lIHRvIFN1Y2NlZWQ8L2E+PC90ZD4KKwkJCQk8dGQ+WWF3b2xmIENoYW5nPC90ZD4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL2Jsb2cuY3Nkbi5uZXQveWF3b2xmIj5ZYXdvbGY8L2E+PC90ZD4KKwkJCQk8dGQ+Q2hpbmVzZTwvdGQ+CisJCQk8L3RyPgorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LnN2ZW5rdWJpYWsuZGUvMjAwNy8wNi8zMC9lY2xpcHNlLWV1cm9wYS1yZWxlYXNlZC8iPiJFY2xpcHNlIEV1cm9wYSIgcmVsZWFzZWQ8L2E+PC90ZD4KKwkJCQk8dGQ+U3ZlbiBLdWJpYWs8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LnN2ZW5rdWJpYWsuZGUiPnN2ZW5rdWJpYWsuZGU8L2E+PC90ZD4KKwkJCQk8dGQ+R2VybWFuPC90ZD4KKwkJCTwvdHI+CQkJCisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9kZXJ0b21wc29uLmNvbS9pbmRleC5waHAvMjAwNy8wNi8yOS9lY2xpcHNlLWV1cm9wYS1yZXZpZXcvIj5FY2xpcHNlIEV1cm9wYSBSZXZpZXc8L2E+PC90ZD4KKwkJCQk8dGQ+VGhvbWFzIEVpbndhbGxlcjwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9kZXJ0b21wc29uLmNvbSI+dE9NUFNPTiYjMTQ2O3MgYmxvZzwvYT48L3RkPgorCQkJCTx0ZD5FbmdsaXNoPC90ZD4KKwkJCTwvdHI+CisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9jYWZmZWluZWluZHVjZWRjb2RpbmcuYmxvZ3Nwb3QuY29tLzIwMDcvMDYvZWNsaXBzZS1ldXJvcGEtZmlyc3QtaW1wcmVzc2lvbnMuaHRtbCI+RWNsaXBzZSBFdXJvcGEgRmlyc3QgSW1wcmVzc2lvbnM8L2E+PC90ZD4KKwkJCQk8dGQ+QWRhbSBUaG9tYXM8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vY2FmZmVpbmVpbmR1Y2VkY29kaW5nLmJsb2dzcG90LmNvbSI+Q2FmZmVpbmUgSW5kdWNlZCBDb2Rpbmc8L2E+PC90ZD4KKwkJCQk8dGQ+RW5nbGlzaDwvdGQ+CisJCQk8L3RyPgkJCQorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LTEyOC5pYm0uY29tL2RldmVsb3BlcndvcmtzL29wZW5zb3VyY2UvbGlicmFyeS9vcy1lY2xpcHNlLWV1cm9wYS8iPkEgd2hpcmx3aW5kIHRvdXIgb2YgRWNsaXBzZSBFdXJvcGE8L2E+PC90ZD4KKwkJCQk8dGQ+Q2hyaXMgQW5pc3pjenlrPC90ZD4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy0xMjguaWJtLmNvbS9kZXZlbG9wZXJ3b3Jrcy9vcGVuc291cmNlLyI+SUJNIE9wZW4gU291cmNlPC9hPjwvdGQ+CisJCQkJPHRkPkVuZ2xpc2g8L3RkPgorCQkJPC90cj4KKwkJCTx0cj4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL2Jsb2cubWlzdG8uY2gvYXJjaGl2ZXMvMzg2Ij5FY2xpcHNlIDMuMyBFdXJvcGE8L2E+PC90ZD4KKwkJCQk8dGQ+TWlya28gU3RvY2tlcjwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9ibG9nLm1pc3RvLmNoIj5ibG9nLm1pc3RvLmNoPC9hPjwvdGQ+CisJCQkJPHRkPkdlcm1hbjwvdGQ+CisJCQk8L3RyPgkJCisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9lY2xpcHNlLW1hZ2F6aW4uZGUvaXRyL25ld3MvcHNlY29tLGlkLDM1OTYxLG5vZGVpZCwyMjkuaHRtbCI+RC1EYXk6IEV1cm9wYSBpbmtsLiBFY2xpcHNlIDMuMyB6dW0gRG9ubG9hZCBiZXJlaXQhPC9hPjwvdGQ+CisJCQkJPHRkPkhvbGdlciBGdW5rZTwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9lY2xpcHNlLW1hZ2F6aW4uZGUvaXRyL25ld3MvIj5FY2xpcHNlIE1hZ2F6aW48L2E+PC90ZD4KKwkJCQk8dGQ+R2VybWFuPC90ZD4KKwkJCTwvdHI+CQkJCisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9qYXJzLmRlL2phdmEvZWNsaXBzZS9lY2xpcHNlLTMzLWV1cm9wYSI+RWNsaXBzZSAzLjMgRXVyb3BhPC9hPjwvdGQ+CisJCQkJPHRkPk1hcmt1cyBKdW5naW5nZXI8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vamFycy5kZS9lY2xpcHNlIj5KYXZhIHVuZCBUZWNobm9sb2dpZTwvYT48L3RkPgorCQkJCTx0ZD5HZXJtYW48L3RkPgorCQkJPC90cj4KKwkJCTx0cj4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL3Fpbm1hODYuc3BhY2VzLmxpdmUuY29tL2Jsb2cvIj5XaGF0IGlzIEVjbGlwc2U/PC9hPjwvdGQ+CisJCQkJPHRkPk1hIFFpbjwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9xaW5tYTg2LnNwYWNlcy5saXZlLmNvbS9ibG9nLyI+TWFRaW48L2E+PC90ZD4KKwkJCQk8dGQ+Q2hpbmVzZTwvdGQ+CisJCQk8L3RyPgkJCQorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vanJvbGxlci5jb20vcGFnZS9sdWN5Ymk/ZW50cnk9ZWNsaXBzZV9ldXJvcGFfaXNfY29taW5nIj5FY2xpcHNlIEV1cm9wYSBpcyBjb21pbmc8L2E+PC90ZD4KKwkJCQk8dGQ+THVjeSBCaTwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9qcm9sbGVyLmNvbS9wYWdlL2x1Y3liaSI+THVjeUJpPC9hPjwvdGQ+CisJCQkJPHRkPkVuZ2xpc2g8L3RkPgorCQkJPC90cj4JCQkJCQkKKwkJCTx0cj4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL2Jsb2cuY3Nkbi5uZXQvWmlKaW5TaGkvYXJjaGl2ZS8yMDA3LzA2LzI3LzE2Njg1ODcuYXNweCI+RWNsaXBzZSAzLjMgUGxhdGZvcm0gRXhwZXJpZW5jZTwvYT48L3RkPgorCQkJCTx0ZD5GcmFuayAoWGlvbmcpIFpoYW5nPC90ZD4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL2Jsb2cuY3Nkbi5uZXQvWmlKaW5TaGkiPlRoZSBTdGFybGlnaHQgaXMgQnJpZ2h0PC9hPjwvdGQ+CisJCQkJPHRkPkVuZ2xpc2g8L3RkPgorCQkJPC90cj4JCQkKKwkJCTx0cj4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWVkaXVtd2F2ZS9hcmNoaXZlLzIwMDcvMDYvMjYvMTY2NzQwMi5hc3B4Ij5BdG9taWMgRGV0b25hdGlvbjwvYT48L3RkPgorCQkJCTx0ZD5aaG9uZ2JvIExpPC90ZD4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWVkaXVtd2F2ZSI+bWVkaXVtd2F2ZTwvYT48L3RkPgorCQkJCTx0ZD5DaGluZXNlPC90ZD4KKwkJCTwvdHI+CQkJCisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cubXdpZXNuZXIuY29tL2luZGV4LnBocC8yMDA3LzA2LzI0L2VjbGlwc2Uta29tbXQtbmFjaC1ldXJvcGEvIj5FY2xpcHNlIGtvbW10IG5hY2ggRXVyb3BhPC9hPjwvdGQ+CisJCQkJPHRkPk1pa2UgV2llc25lcjwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cubXdpZXNuZXIuY29tLyI+TWlrZSBXaWVzbmVyPC9hPjwvdGQ+CisJCQkJPHRkPkdlcm1hbjwvdGQ+CisJCQk8L3RyPgorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vZGl2YnkwLmJsb2dzcG90LmNvbS8yMDA3LzA2L2FuZC1ub3ctZm9yLXNvbWV0aGluZy1jb21wbGV0ZWx5Lmh0bWwiPkFuZCBOb3cgZm9yIFNvbWV0aGluZyBDb21wbGV0ZWx5IERpZmZlcmVudIU8L2E+PC90ZD4KKwkJCQk8dGQ+TmljayBCb2xkdDwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuZGl2YnkwLmJsb2dzcG90LmNvbSI+RGl2QnlaZXJvLmNvbTwvYT48L3RkPgorCQkJCTx0ZD5FbmdsaXNoPC90ZD4KKwkJCTwvdHI+CQkJCisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbmV3c3BvcnRhbC9hcnRpY2xlLnBocD9pZD0xMzQ0MSZncm91cD1lY2xpcHNlLnRvb2xzLmNkdCMxMzQ0MSI+Q0RUIDQuMCBSZXZpZXc8L2E+PC90ZD4KKwkJCQk8dGQ+UmljaGFyZCBHb2JlbGk8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL25ld3Nwb3J0YWwvdGhyZWFkLnBocD9ncm91cD1lY2xpcHNlLnRvb2xzLmNkdCI+ZWNsaXBzZS50b29scy5jZHQgTmV3c2dyb3VwPC9hPjwvdGQ+CisJCQkJPHRkPkVuZ2xpc2g8L3RkPgorCQkJPC90cj4JCQkJCisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9kYXViYXUuaXQvbG9nL2VjbGlwc2UtZXVyb3BhLXN0YS1hcnJpdmFuZG8iPkVjbGlwc2UgRXVyb3BhIHN0YSBhcnJpdmFuZG88L2E+PC90ZD4KKwkJCQk8dGQ+RmxhdmlvIFRvcmRpbmk8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vZGF1YmF1Lml0L2xvZyI+RGF1YmF1IExvZzwvYT48L3RkPgorCQkJCTx0ZD5JdGFsaWFuPC90ZD4KKwkJCTwvdHI+CisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9iZ2Uta2VybmVsLXBhbmljLmJsb2dzcG90LmNvbS8yMDA3LzA2L2VjbGlwc2UtZXVyb3BhLXJldmlldy5odG1sIj5FY2xpcHNlIEV1cm9wYSBSZXZpZXc8L2E+PC90ZD4KKwkJCQk8dGQ+QmVub2l0IEdvdWRyZWF1bHQtRW1vbmQ8L3RkPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vYmdlLWtlcm5lbC1wYW5pYy5ibG9nc3BvdC5jb20iPkJHRSYjMzk7cyBLaWxsZXIgQmxvZy4uLiBvZiBKdXN0aWNlPC9hPjwvdGQ+CisJCQkJPHRkPkVuZ2xpc2g8L3RkPgorCQkJPC90cj4KKwkJCTx0cj4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL2VjbGlwc2UtZGVidWcuYmxvZ3Nwb3QuY29tLzIwMDcvMDYvb25lLWV1cm9wYS1leHBlcmllbmNlLmh0bWwiPk9uZSBFdXJvcGEgRXhwZXJpZW5jZTwvYT48L3RkPgorCQkJCTx0ZD5DdXJ0aXMgV2luZGF0dDwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9lY2xpcHNlLWRlYnVnLmJsb2dzcG90LmNvbSI+RWNsaXBzZSBEZWJ1ZyBUZWFtPC9hPjwvdGQ+CisJCQkJPHRkPkVuZ2xpc2g8L3RkPgorCQkJPC90cj4KKwkJCTx0cj4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5mbGVpc2NobGUubmV0L2luZGV4LnBocD9vcHRpb249Y29tX2NvbnRlbnQmdGFzaz12aWV3JmlkPTYmSXRlbWlkPTEiPkV1cm9wZSBrb21tdCBuYWNoIEV1cm9wYTwvYT48L3RkPgorCQkJCTx0ZD5TYW0gRmxlaXNjaGxlPC90ZD4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5mbGVpc2NobGUubmV0Ij5GbGVpc2NobGUubmV0PC9hPjwvdGQ+CisJCQkJPHRkPkdlcm1hbjwvdGQ+CisJCQk8L3RyPgorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LmluZm9ydy5kZS9pbmhhbHQvZG9rdS5waHAvYmxvZy8xMTAiPkV1cm9wYSBnZWhvcnQgZGllIFp1a3VuZnQ8L2E+PC90ZD4KKwkJCQk8dGQ+UmFpbmVyIFdlaW5ob2xkPC90ZD4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5pbmZvcncuZGUvaW5oYWx0L2Rva3UucGhwIj5XaWxsa29tbWVuIGF1ZiBpbmZvcncuZGU8L2E+PC90ZD4KKwkJCQk8dGQ+R2VybWFuPC90ZD4KKwkJCTwvdHI+CisJCQk8dHI+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9qcm9sbGVyLmNvbS9wYWdlL2VjbGlwc2UyMDA4P2VudHJ5PWdsb2JhbF9ldXJvcGFfZ2xvYmFsX3dvcmtzcGFjZSI+R2xvYmFsIEV1cm9wYSwgZ2xvYmFsIHdvcmtzcGFjZTwvYT48L3RkPgorCQkJCTx0ZD5LaXUgTGl1PC90ZD4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL2pyb2xsZXIuY29tIj5KaW1teTwvYT48L3RkPgorCQkJCTx0ZD5FbmdsaXNoPC90ZD4KKwkJCTwvdHI+CQkJCQkJCQorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vd3d3LmJvZ25lci1pdC5hdC9ibG9nLz9wPTYiPkVjbGlwc2UgRXVyb3BhIFJldmlldzwvYT48L3RkPgorCQkJCTx0ZD5NYW51ZWwgQm9nbmVyPC90ZD4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL2Jsb2cuYm9nbmVyLWl0LmF0LyI+Qm9nbmVyLUlULmF0PC9hPjwvdGQ+CisJCQkJPHRkPkVuZ2xpc2g8L3RkPgorCQkJPC90cj4KKwkJCTx0cj4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL3Byby1waXguZGUvam9vbWxhL2luZGV4LnBocD9vcHRpb249Y29tX2NvbnRlbnQmdGFzaz12aWV3JmlkPTQwJkl0ZW1pZD0xIj5FY2xpcHNlIGV1cm9wYSB1bnRlciBkZXIgTHVwZSAtIFdhczxicj4gbWlyIGJlc29uZGVyZXMgZ3V0IGdlZmFsbGVuIGhhdDwvYT48L3RkPgorCQkJCTx0ZD5DaHJpc3RpYW4gQmFyYW5vd3NraTwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9wcm8tcGl4LmRlL2pvb21sYSI+V2lsbGtvbW1lbiBhdWYgUHJvLVBpeGRlPC9hPjwvdGQ+CisJCQkJPHRkPkdlcm1hbjwvdGQ+CisJCQk8L3RyPgorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vdGhlY29kZXJzYmxvZy5ibG9nc3BvdC5jb20vMjAwNy8wNi9lY2xpcHNlLWV1cm9wYS1yZWxlYXNlLXJldmlldy5odG1sIj5FY2xpcHNlIEV1cm9wYSBSZWxlYXNlIFJldmlldzwvYT48L3RkPgorCQkJCTx0ZD5GZWxpcGUgTGFuZzwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly90aGVjb2RlcnNibG9nLmJsb2dzcG90LmNvbSI+VGhlIENvZGVyJiMzOTtzIEJsb2c8L2E+PC90ZD4KKwkJCQk8dGQ+RW5nbGlzaDwvdGQ+CisJCQk8L3RyPgkJCQorCQkJPHRyPgorCQkJCTx0ZD48YSBocmVmPSJodHRwOi8vYmxvZy5hcnVua3VtYXJtLmNvbS8yMDA3LzA2L2VjbGlwc2UtZXVycG9hLWlzLWNvbWluZy5odG1sIj5FY2xpcHNlIEV1cm9wYSBpcyBjb21pbmc8L2E+PC90ZD4KKwkJCQk8dGQ+QXJ1biBLdW1hcjwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9ibG9nLmFydW5rdW1hcm0uY29tIj5UaG9zZSBXZXJlIHRoZSBCZXN0IERheXMgb2YgTXkgTGlmZSEhPC9hPjwvdGQ+CisJCQkJPHRkPkVuZ2xpc2g8L3RkPgorCQkJPC90cj4KKwkJCTx0cj4KKwkJCQk8dGQ+PGEgaHJlZj0iaHR0cDovL3JhZGlvLmphdmFyYW5jaC5jb20vZGF2by8yMDA3LzA2LzAxLzExODA2OTg1MTIxNzEuaHRtbCI+S2VlbiBmb3IgV1RQIDIuMDwvYT48L3RkPgorCQkJCTx0ZD5EYXZpZCBPJiMzOTtNZWFyYTwvdGQ+CisJCQkJPHRkPjxhIGhyZWY9Imh0dHA6Ly9yYWRpby5qYXZhcmFuY2guY29tL2Rhdm8iPkRhdmlkJiMzOTtzIEJsb2c8L2E+PC90ZD4KKwkJCQk8dGQ+RW5nbGlzaDwvdGQ+CisJCQk8L3RyPgogCisJCTwvdGFibGU+CisgICAgICAgIDwvcD4KKyAgICAgICAgCiAJPC9kaXY+CiAKLQk8PyAKLQkkaHRtbCA9IG9iX2dldF9jb250ZW50cygpOwotCW9iX2VuZF9jbGVhbigpOworRU9IVE1MOwogCiAJIyBHZW5lcmF0ZSB0aGUgd2ViIHBhZ2UKIAkkQXBwLT5nZW5lcmF0ZVBhZ2UoJHRoZW1lLCAkTWVudSwgJE5hdiwgJHBhZ2VBdXRob3IsICRwYWdlS2V5d29yZHMsICRwYWdlVGl0bGUsICRodG1sKTsK