MjAxNC0xMC0yMSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogTkVXUzogVXBkYXRlIE5FV1MuCgoyMDE0LTEwLTIxICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jOiBVcGRhdGUgY29tbWVudHMgcmVnYXJkaW5nCglyZmJDbGllbnRDb25uZWN0aW9uR29uZSgpLgoKMjAxNC0xMC0yMSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jc2VydmVyL3NjYWxlLmM6IEZpeCBVc2UtQWZ0ZXItRnJlZSB2dWxuZXJhYmlsaXR5IGluCglMaWJWTkNTZXJ2ZXIgd3J0IHNjYWxpbmcuICBSZXBvcnRlZCBieSBLZW4gSm9obnNvbiA8S2VuLkpvaG5zb24xQHRlbHVzLmNvbT4uICBUaGUgdnVsbmVyYWJpbGl0eSB3b3VsZCBvY2N1ciBpbiBib3RoIHRoZSByZmJQYWxtVk5DU2V0U2NhbGVGYWN0b3IKCWFuZCByZmJTZXRTY2FsZSBjYXNlcyBpbiB0aGUgcmZiUHJvY2Vzc0NsaWVudE5vcm1hbE1lc3NhZ2UgZnVuY3Rpb24KCW9mIHJmYnNlcnZlci5jLiBTZW5kaW5nIGEgdmFsaWQgc2NhbGluZyBmYWN0b3IgaXMgcmVxdWlyZWQKCShub24temVybykgICAgICAgaWYgKG1zZy5zc2Muc2NhbGUgPT0gMCkgeyAgICAgICAgICAgcmZiTG9nUGVycm9yKCJyZmJQcm9jZXNzQ2xpZW50Tm9ybWFsTWVzc2FnZTogd2lsbCBub3QKCSAgICAgICAgICBhY2NlcHQgYSBzY2FsZSBmYWN0b3Igb2YgemVybyIpOyByZmJDbG9zZUNsaWVudChjbCk7ICAgICAgICAgICByZXR1cm47ICAgICAgIH0gICAgICAgcmZiU3RhdFJlY29yZE1lc3NhZ2VSY3ZkKGNsLCBtc2cudHlwZSwgc3pfcmZiU2V0U2NhbGVNc2csCgkgICAgICBzel9yZmJTZXRTY2FsZU1zZyk7IHJmYkxvZygicmZiU2V0U2NhbGUoJWQpXG4iLAoJICAgICAgbXNnLnNzYy5zY2FsZSk7IHJmYlNjYWxpbmdTZXR1cChjbCxjbC0+c2NyZWVuLT53aWR0aC9tc2cuc3NjLnNjYWxlLAoJY2wtPnNjcmVlbi0+aGVpZ2h0L21zZy5zc2Muc2NhbGUpOyAgICAgICByZmJTZW5kTmV3U2NhbGVTaXplKGNsKTsgPDwgVGhpcyBpcyB0aGUgY2FsbCB0aGF0IGNhbiB0cmlnZ2VyCgkgICAgICBhIGZyZWUuICByZXR1cm47IGF0IHRoZSBlbmQsIGJvdGggY2FzZXMgdGhlcmUgaXMgYSBjYWxsIHRoZSByZmJTZW5kTmV3U2NhbGVTaXplCglmdW5jdGlvbiwgd2hlcmUgaWYgdGhlIGNvbm5lY3Rpb24gaXMgc3Vic2VxdWVudGx5IGRpc2Nvbm5lY3RlZCBhZnRlcgoJc2VuZGluZyB0aGUgVk5DIHNjYWxpbmcgbWVzc2FnZSBjYW4gbGVhZCB0byBhIGZyZWUgb2NjdXJyaW5nLiAgICAgIGVsc2UgICAgIHsgICAgICAgICByZmJSZXNpemVGcmFtZUJ1ZmZlck1zZyAgICAgICAgcm1zZzsgICAgICAgICBybXNnLnR5cGUgPSByZmJSZXNpemVGcmFtZUJ1ZmZlcjsgICAgICAgICBybXNnLnBhZDE9MDsgICAgICAgICBybXNnLmZyYW1lYnVmZmVyV2lkdGggID0KCSAgICAgICAgU3dhcDE2SWZMRShjbC0+c2NhbGVkU2NyZWVuLT53aWR0aCk7IHJtc2cuZnJhbWVidWZmZXJIZWlndGgKCSAgICAgICAgPSBTd2FwMTZJZkxFKGNsLT5zY2FsZWRTY3JlZW4tPmhlaWdodCk7IHJmYkxvZygiU2VuZGluZyBhIHJlc3BvbnNlCgkgICAgICAgIHRvIGEgVWx0cmFWTkMgc3R5bGUgZnJhbWV1ZmZlciByZXNpemUgZXZlbnQgKCVkeCVkKVxuIiwKCSAgICAgICAgY2wtPnNjYWxlZFNjcmVlbi0+d2lkdGgsIGNsLT5zY2FsZWRTY3JlZW4tPmhlaWdodCk7IGlmCgkgICAgICAgICAgICAocmZiV3JpdGVFeGFjdChjbCwgKGNoYXIgKikmcm1zZywgc3pfcmZiUmVzaXplRnJhbWVCdWZmZXJNc2cpIDwgMCkgewoJcmZiTG9nUGVycm9yKCJyZmJOZXdDbGllbnQ6IHdyaXRlIik7ICAgICAgICAgICAgIHJmYkNsb3NlQ2xpZW50KGNsKTsgICAgICAgICAgICAgcmZiQ2xpZW50Q29ubmVjdGlvbkdvbmUoY2wpOyA8PCBDYWxsIHdoaWNoIG1heSBjYW4gbGVhZAoJICAgICAgICAgICAgdG8gYSBmcmVlLiAgcmV0dXJuIEZBTFNFOyAgICAgICAgIH0gICAgIH0gICAgIHJldHVybiBUUlVFOyBPbmNlIHRoaXMgZnVuY3Rpb24gcmV0dXJucywgZXZlbnR1YWxseSByZmJDbGllbnRDb25uZWN0aW9uR29uZSBpcwoJY2FsbGVkIGFnYWluIG9uIHRoZSByZXR1cm4gZnJvbSByZmJQcm9jZXNzQ2xpZW50Tm9ybWFsTWVzc2FnZS4gSW4KCUtSRkIgc2VydmVyIHRoaXMgbGVhZHMgdG8gYW4gYXR0ZW1wdCB0byBhY2Nlc3MgY2xpZW50LT5kYXRhLiAgUE9DIHNjcmlwdCB0byB0cmlnZ2VyIHRoZSB2dWxuZXJhYmlsaXR5OiAtLS1zbmlwLS0tIGltcG9ydCBzb2NrZXQsYmluYXNjaWksc3RydWN0LHN5cyBmcm9tIHRpbWUgaW1wb3J0IHNsZWVwIGNsYXNzIFJGQjogICAgIElOSVRfMzAwOCA9ICJceDUyXHg0Nlx4NDJceDIwXHgzMFx4MzBceDMzXHgyZVx4MzBceDMwXHgzOFx4MGEiICAgICBBVVRIX05PX1BBU1MgID0gIlx4MDEiICAgICBBVVRIX1BBU1MgPSAiXHgwMiIgICAgIFNIQVJFX0RFU0tUT1AgPSAiXHgwMSIgICAgIGRlZiBBVVRIX1BST0NFU1Moc2VsZixkYXRhLGZsYWcpOiAgICAgICAgIGlmIGZsYWcgPT0gMDogICAgICAgICAgICAgIyBHZXQgc2VjdXJpdHkgdHlwZXMgICAgICAgICAgICAgc2VjVHlwZUNvdW50ID0gZGF0YVswXSAgICAgICAgICAgICBzZWNUeXBlID0ge30gICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoaW50KGxlbihzZWNUeXBlQ291bnQpKSk6ICAgICAgICAgICAgICAgICBzZWNUeXBlW2ldID0gZGF0YVsxXSAgICAgICAgICAgICByZXR1cm4gc2VjVHlwZSAgICAgICAgIGVsaWYgZmxhZyA9PSAxOiAgICAgICAgICAgICAjIEdldCBhdXRoIHJlc3VsdCAgICAgICAgICAgICAjIDAgbWVhbnMgYXV0aCBzdWNjZXNzICAgICAgICAgICAgICMgMSBtZWFucyBmYWlsdXJlICAgICAgICAgICAgIHJldHVybiBkYXRhWzNdICAgICBkZWYgQVVUSF9QUk9DRVNTX0NIQUxMRU5HRShzZWxmLCBkYXRhLCBQQVNTV09SRCk6ICAgICAgICAgdHJ5OiAgICAgICAgICAgICBmcm9tIENyeXB0by5DaXBoZXIgaW1wb3J0IERFUyAgICAgICAgIGV4Y2VwdDogICAgICAgICAgICAgcHJpbnQgIkVycm9yIGltcG9ydGluZyBjcnlwdG8uIFBsZWFzZSBmaXggb3IgZG8gbm90CgkgICAgICAgICAgICByZXF1aXJlIGF1dGhlbnRpY2F0aW9uIiBzeXMuZXhpdCgxKSAgICAgICAgIGlmIGxlbihQQVNTV09SRCkgIT0gODogICAgICAgICAgICAgUEFTU1dPUkQgPSBQQVNTV09SRC5sanVzdCg4LCAnXDAnKSAgICAgICAgIFBBU1NXT1JEX1NXQVAgPQoKCVtzZWxmLnJldmVyc2VfYml0cyhvcmQoUEFTU1dPUkRbMF0pKSxzZWxmLnJldmVyc2VfYml0cyhvcmQoUEFTU1dPUkRbMV0pKSxzZWxmLnJldmVyc2VfYml0cyhvcmQoUEFTU1dPUkRbMl0pKSxzZWxmLnJldmVyc2VfYml0cyhvcmQoUEFTU1dPUkRbM10pKSxzZWxmLnJldmVyc2VfYml0cyhvcmQoUEFTU1dPUkRbNF0pKSxzZWxmLnJldmVyc2VfYml0cyhvcmQoUEFTU1dPUkRbNV0pKSxzZWxmLnJldmVyc2VfYml0cyhvcmQoUEFTU1dPUkRbNl0pKSxzZWxmLnJldmVyc2VfYml0cyhvcmQoUEFTU1dPUkRbN10pKV1QQVNTV09SRCA9CgoKCgkoc3RydWN0LnBhY2soIkJCQkJCQkJCIixQQVNTV09SRF9TV0FQWzBdLFBBU1NXT1JEX1NXQVBbMV0sUEFTU1dPUkRfU1dBUFsyXSxQQVNTV09SRF9TV0FQWzNdLFBBU1NXT1JEX1NXQVBbNF0sUEFTU1dPUkRfU1dBUFs1XSxQQVNTV09SRF9TV0FQWzZdLFBBU1NXT1JEX1NXQVBbN10pKWNyeXB0byA9IERFUy5uZXcoUEFTU1dPUkQpICAgICAgICAgcmV0dXJuIGNyeXB0by5lbmNyeXB0KGRhdGEpICAgICBkZWYgcmV2ZXJzZV9iaXRzKHNlbGYseCk6ICAgICAgICAgYT0wICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoOCk6ICAgICAgICAgICAgIGEgKz0gKCh4Pj5pKSYxKTw8KDctaSkgICAgICAgICByZXR1cm4gYSBkZWYgbWFpbihhcmd2KTogICAgIHByaW50ICJQcm9vZiBvZiBDb25jZXB0IiAgICAgcHJpbnQgIkNvcHlyaWdodCBURUxVUyBTZWN1cml0eSBMYWJzIiAgICAgcHJpbnQgIkFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4iICAgICB0cnk6ICAgICAgICAgSE9TVCA9IHN5cy5hcmd2WzFdICAgICAgICAgUE9SVCA9IGludChzeXMuYXJndlsyXSkgICAgIGV4Y2VwdDogICAgICAgICBwcmludCAiVXNhZ2U6IHB5dGhvbiBzZXRzY2FsZV9zZWd2X3BvYy5weSA8aG9zdD4gPHBvcnQ+CgkgICAgICAgIFtwYXNzd29yZF0iIHN5cy5leGl0KDEpICAgICB0cnk6ICAgICAgICAgUEFTU1dPUkQgPSBzeXMuYXJndlszXSAgICAgZXhjZXB0OiAgICAgICAgIHByaW50ICJObyBwYXNzd29yZCBzdXBwbGllZCIgICAgICAgICBQQVNTV09SRCA9ICIiICAgICB2bmMgPSBSRkIoKSAgICAgcmVtb3RlID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKSAgICAgcmVtb3RlLmNvbm5lY3QoKEhPU1QsUE9SVCkpICAgICAjIEdldCBzZXJ2ZXIgdmVyc2lvbiAgICAgZGF0YSA9IHJlbW90ZS5yZWN2KDEwMjQpICAgICAjIFNlbmQgMy44IHZlcnNpb24gICAgIHJlbW90ZS5zZW5kKHZuYy5JTklUXzMwMDgpICAgICAjIEdldCBzdXBwb3J0ZWQgc2VjdXJpdHkgdHlwZXMgICAgIGRhdGEgPSByZW1vdGUucmVjdigxMDI0KSAgICAgIyBQcm9jZXNzIFNlY3VyaXR5IE1lc3NhZ2UgICAgIHNlY1R5cGUgPSB2bmMuQVVUSF9QUk9DRVNTKGRhdGEsMCkgICAgIGlmIHNlY1R5cGVbMF0gPT0gIlx4MDIiOiAgICAgICAgICMgU2VuZCBhY2NlcHQgZm9yIHBhc3N3b3JkIGF1dGggICAgICAgICByZW1vdGUuc2VuZCh2bmMuQVVUSF9QQVNTKSAgICAgICAgICMgR2V0IGNoYWxsZW5nZSAgICAgICAgIGRhdGEgPSByZW1vdGUucmVjdigxMDI0KSAgICAgICAgICMgU2VuZCBjaGFsbGVuZ2UgcmVzcG9uc2UgICAgICAgICByZW1vdGUuc2VuZCh2bmMuQVVUSF9QUk9DRVNTX0NIQUxMRU5HRShkYXRhLFBBU1NXT1JEKSkgICAgIGVsaWYgc2VjVHlwZVswXSA9PSAiXHgwMSI6ICAgICAgICAgIyBTZW5kIGFjY2VwdCBmb3IgTm9uZSBwYXNzICAgICAgICAgcmVtb3RlLnNlbmQodm5jLkFVVEhfTk9fUEFTUykgICAgIGVsc2U6ICAgICAgICAgcHJpbnQgJ1RoZSBzZXJ2ZXIgc2VudCB1cyBzb21ldGhpbmcgd2VpcmQgZHVyaW5nIGF1dGguJyAgICAgICAgIHN5cy5leGl0KDEpICAgICAjIEdldCByZXN1bHQgICAgIGRhdGEgPSByZW1vdGUucmVjdigxMDI0KSAgICAgIyBQcm9jZXNzIHJlc3VsdCAgICAgcmVzdWx0ID0gdm5jLkFVVEhfUFJPQ0VTUyhkYXRhLDEpICAgICBpZiByZXN1bHQgPT0gIlx4MDEiOiAgICAgICAgICMgQXV0aGVudGljYXRpb24gZmFpbHVyZS4gICAgICAgICAgZGF0YSA9IHJlbW90ZS5yZWN2KDEwMjQpICAgICAgICAgcHJpbnQgJ0F1dGhlbnRpY2F0aW9uIGZhaWx1cmUuIFNlcnZlciBSZWFzb246ICcgKyBzdHIoZGF0YSkgICAgICAgICBzeXMuZXhpdCgxKSAgICAgZWxpZiByZXN1bHQgPT0gIlx4MDAiOiAgICAgICAgIHByaW50ICJBdXRoZW50aWNhdGlvbiBzdWNjZXNzLiIgICAgIGVsc2U6ICAgICAgICAgcHJpbnQgJ1NvbWUgb3RoZXIgYXV0aGVudGljYXRpb24gaXNzdWUgb2NjdXJlZC4nICAgICAgICAgc3lzLmV4aXQoMSkgICAgICMgU2VuZCBDbGllbnRJbml0ICAgICByZW1vdGUuc2VuZCh2bmMuU0hBUkVfREVTS1RPUCkgICAgICMgU2VuZCBtYWxpY2lvdXMgbWVzc2FnZSAgICAgcHJpbnQgIlNlbmRpbmcgbWFsaWNpb3VzIGRhdGEuLi4iICAgICByZW1vdGUuc2VuZCgiXHgwOFx4MDhceDAwXHgwMCIpICAgICByZW1vdGUuY2xvc2UoKSBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOiAgICAgbWFpbihzeXMuYXJndikgLS0tc25hcC0tLQoKMjAxNC0xMC0xNCAgZHNjaG8gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogOiBNZXJnZSBwdWxsIHJlcXVlc3QgIzQzIGZyb20gbWFrc3F3ZS9maXhfcmZiU2VsZWN0Qm94IEZpeCBzZWxEYXRhLmJ1dHRvbldpZHRoIGNhbGN1bGF0aW9uCgoyMDE0LTEwLTEwICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYzogRml4IHBvc3NpYmxlIGxpYnZuY2NsaWVudCBTZXJ2ZXJJbml0CgltZW1vcnkgY29ycnVwdGlvbi4gIFRoaXMgZml4ZXMgdGhlIGZvbGxvd2luZyBvQ0VSVCByZXBvcnQgKG9DRVJULTIwMTQtMDA4IHB0LjIpOiBUaGVyZSBpcyBhIHNpbWlsYXIgdnVsbmVyYWJpbGl0eSB0byB0aGUgcHJldmlvdXMgb25lIEkgc2VudC4gVGhpcyBpcwoJcmVsYXRlZCB0byB0aGUgU2VydmVySW5pdCBtZXNzYWdlIHdoZXJlIHRoZSB3aWR0aCwgdGhlIGhlaWdodCBvZiB0aGUKCXNlcnZlcidzIGZyYW1lYnVmZmVyLCBpdHMgcGl4ZWwgZm9ybWF0LCBhbmQgdGhlIG5hbWUgYXJlIHNlbnQgdG8gdGhlCgljbGllbnQuIFRoZSBuYW1lIGNhbiBiZSB1c2VkIGluIGEgbWFsaWNpb3VzIG1hbm5lciB0byB0cmlnZ2VyIGEKCW1lbW9yeSBjb3JydXB0aW9uIGluIHRoZSBjbGllbnQuICBGaWVsZCAgICAgICAgICAgICBTaXplIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBuYW1lLWxlbmd0aAoJWzRdIG5hbWUtc3RyaW5nICBbbmFtZS1sZW5ndGhdIEJlbG93IHlvdSB3aWxsIGZpbmQgYSBQb0Mgc2NyaXB0IHRvIHNob3cgdGhlIHZ1bG5lcmFiaWxpdHkuIFRoaXMgd2FzCgl0ZXN0ZWQgb24gRmVkb3JhIDIwIHdpdGggdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIGtyZGMuICBJIGhhdmUgbm90aWNlZCBzb21ldGhpbmcsIHdoZXJlIHRoZSBtZW1vcnkgY29ycnVwdGlvbiBjYXVzZXMgdGhlCglwcm9ncmFtIHRvIGhhbmcgYnV0IGFsbG93cyB5b3UgdG8gdHJ5IHRvIGRpc2Nvbm5lY3QuIEFmdGVyIHRoaXMgaXQKCWhhbmdzLiBPY2Nhc2lvbmFsbHkgdGhlcmUgd2lsbCBiZSBzZWdtZW50YXRpb24gZmF1bHQgaW4gbWVtY3B5LiBUaGlzCgljYW4gYmVjb21lIG1vcmUgcmVsaWFibGUgaWYgeW91IGNvbm5lY3QgdG8gYSBkaWZmZXJlbnQgVk5DIHNlcnZlcgoJZmlyc3QgKE9yIHRoZSB3cm9uZyBwb3J0IG9uIHRoZSBtYWxpY2lvdXMgc2VydmVyKSB0aGVuIGNvbm5lY3RpbmcgdG8KCXRoZSBtYWxpY2lvdXMgcG9ydC4gRXZlcnkgdGltZSBJIGFjY2lkZW50YWxseSBtYWRlIHRoZSB3cm9uZyBWTkMKCWNvbm5lY3Rpb24gYXR0ZW1wdCB0aGUgbmV4dCB0aW1lIEkgY29ubmVjdGVkIGl0IHNlZ2ZhdWx0J2QuICBKdXN0IHJ1biB0aGUgc2NyaXB0IGl0IHdpbGwgbGlzdGVuIG9uIHBvcnQgNTkwMCBhbmQgY29ubmVjdCB0byBpdAoJd2l0aCBrcmRjIGZvciBleGFtcGxlLiBJIGhhdmUgb2JzZXJ2ZWQgUmVtbWluYSBjcmFzaCBtb3JlIHJlbGlhYmx5LiAgaW1wb3J0IHNvY2tldCxzdHJ1Y3Qsc3lzIEhPU1QgPSAiIiBQT1JUID0gIDU5MDAgYyA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKCWMuYmluZCgoSE9TVCxQT1JUKSkgYy5saXN0ZW4oMSkgY29ubixhZGRyID0gYy5hY2NlcHQoKSBwcmludCAiQ29ubmVjdGVkIGJ5ICIsIGFkZHIgcHJvdG9jb2xWZXJzaW9uMzAwOCA9CgkiXHg1Mlx4NDZceDQyXHgyMFx4MzBceDMwXHgzM1x4MmVceDMwXHgzMFx4MzhceDBhIgoJY29ubi5zZW5kKHByb3RvY29sVmVyc2lvbjMwMDgpIGRhdGEgPSBjb25uLnJlY3YoMTAyNCkgIyBSZWNlaXZlIHRoZSB2ZXJzaW9uIGZyb20gdGhlbS4gIHNlY1R5cGVOb25lID0gIlx4MDFceDAxIiBzZWNUeXBlQXV0aCA9ICJceDAxXHgwMiIKCWNvbm4uc2VuZChzZWNUeXBlTm9uZSkgZGF0YSA9IGNvbm4ucmVjdigxMDI0KSAjIFJlY2VpdmUgdGhlIHNlY1R5cGUgY2hvaWNlIGZyb20gdGhlbS4gIHNlY1Jlc3VsdE9rID0gIlx4MDAiICogNCBzZWNSZXN1bHRObyA9ICJceDAwXHgwMFx4MDBceDAxIgoJY29ubi5zZW5kKHNlY1Jlc3VsdE9rKSBkYXRhID0gY29ubi5yZWN2KDEwMjQpICMgUmVjZWl2ZSB0aGUgQ2xpZW50SW5pdCAoU2hhcmVkLWZsYWcpLiAgZnJhbWVCdWZmZXJXaWR0aCA9IDB4MDQ4MCBmcmFtZUJ1ZmZlckhlaWdodCA9IDB4MDM2MCBiaXRzUGVyUGl4ZWwgPQoJMHgyMCBkZXB0aCA9IDB4MTggYmlnRW5kaWFuID0gMHgxIHRydWVDb2xvciA9IDB4MCByZWRNID0gMHgwIGdyZWVuTQoJPSAweDAgYmx1ZU0gPSAgMHgwIHJlZFMgPSAweDAgZ3JlZW5TID0gMHgwIGJsdWVTID0gMHgwIHBhZGRpbmcgPQoJIlx4MDBceDAwXHgwMCIgbmFtZUxlbmd0aCA9IDB4ZmZmZmZmZmYgbmFtZVN0cmluZyA9ICJBQSIgKiAweEZGRkYgKwoJIlx4MDBceDBhIiBjb25uLnNlbmQoIHN0cnVjdC5wYWNrKCI+SEhCQkJCSEhIQkJCIixmcmFtZUJ1ZmZlcldpZHRoLAoJZnJhbWVCdWZmZXJIZWlnaHQsIGJpdHNQZXJQaXhlbCwgZGVwdGgsIGJpZ0VuZGlhbiwgdHJ1ZUNvbG9yLCByZWRNLAoJZ3JlZW5NLCBibHVlTSwgcmVkUywgZ3JlZW5TLCBibHVlUykgKyBwYWRkaW5nICsgc3RydWN0LnBhY2soIj5JIiwKCW5hbWVMZW5ndGgpICsgbmFtZVN0cmluZyApIGMuY2xvc2UoKQoKMjAxNC0xMC0xMCAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jY2xpZW50L3NvY2tldHMuYzogRml4IHBvdGVudGlhbCBtZW1vcnkgY29ycnVwdGlvbiBpbgoJbGlidm5jY2xpZW50LiAgRml4ZXMgKG1heWJlIGFtb25nc3Qgb3RoZXJzKSB0aGUgZm9sbG93aW5nIG9DRVJUIHJlcG9ydAoJKFtvQ0VSVC0yMDE0LTAwOF0pOiBMaWJWTkNTZXJ2ZXIgSGFuZGxlUkZCU2VydmVyTWVzc2FnZSByZmJTZXJ2ZXJDdXRUZXh0IG1hbGljaW91cwoJbXNnLnNjdC5sZW5ndGggSXQgbG9va3MgbGlrZSB0aGVyZSBtYXkgYmUgYSBjaGFuY2UgZm9yIHBvdGVudGlhbCBtZW1vcnkgY29ycnVwdGlvbgoJd2hlbiBhIExpYlZOQ1NlcnZlciBjbGllbnQgYXR0ZW1wdHMgdG8gcHJvY2VzcyBhIFNlcnZlciBDdXQgVGV4dAoJbWVzc2FnZS4gICAgY2FzZSByZmJTZXJ2ZXJDdXRUZXh0OiAgIHsgICAgIGNoYXIgKmJ1ZmZlcjsgICAgIGlmICghUmVhZEZyb21SRkJTZXJ2ZXIoY2xpZW50LCAoKGNoYXIgKikmbXNnKSArIDEsIAkJCSAgIHN6X3JmYlNlcnZlckN1dFRleHRNc2cgLSAxKSkgICAgICAgcmV0dXJuIEZBTFNFOyAgICAgbXNnLnNjdC5sZW5ndGggPSByZmJDbGllbnRTd2FwMzJJZkxFKG1zZy5zY3QubGVuZ3RoKTsgPDwKCSAgICBSZXRyaWV2ZSBtYWxpY2lvdXMgbGVuZ3RoICAgICBidWZmZXIgPSBtYWxsb2MobXNnLnNjdC5sZW5ndGgrMSk7IDw8IEFsbG9jYXRlIGJ1ZmZlci4gQ2FuCgkgICAgcmV0dXJuIDB4MCAgICAgaWYgKCFSZWFkRnJvbVJGQlNlcnZlcihjbGllbnQsIGJ1ZmZlciwgbXNnLnNjdC5sZW5ndGgpKSA8PAoJICAgICAgQXR0ZW1wdCB0byB3cml0ZSB0byBidWZmZXIgcmV0dXJuIEZBTFNFOyAgICAgYnVmZmVyW21zZy5zY3QubGVuZ3RoXSA9IDA7IDw8IEF0dGVtcHQgdG8gd3JpdGUgdG8gYnVmZmVyICAgICBpZiAoY2xpZW50LT5Hb3RYQ3V0VGV4dCkgICAgICAgY2xpZW50LT5Hb3RYQ3V0VGV4dChjbGllbnQsIGJ1ZmZlciwgbXNnLnNjdC5sZW5ndGgpOyA8PAoJICAgICAgQXR0ZW1wdCB0byB3cml0ZSB0byBidWZmZXIgICAgIGZyZWUoYnVmZmVyKTsgICAgIGJyZWFrOyAgIH0gSWYgYSBtZXNzYWdlIGlzIHByb3ZpZGVkIHdpdGggYW4gZXh0cmVtZWx5IGxhcmdlIHNpemUgaXQgaXMgcG9zc2libGUKCXRvIGNhdXNlIHRoZSBtYWxsb2MgdG8gZmFpbCwgZnVydGhlciBsZWFkaW5nIHRvIGFuIGF0dGVtcHQgdG8gd3JpdGUKCTB4MC4KCjIwMTQtMTAtMDkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIE5FV1M6IFVwZGF0ZSBORVdTIGZvciAwLjkuMTAuCgoyMDE0LTEwLTA5ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBBVVRIT1JTOiBVcGRhdGUgQVVUSE9SUy4KCjIwMTQtMTAtMDcgIGRzY2hvIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIDogTWVyZ2UgcHVsbCByZXF1ZXN0ICM0MiBmcm9tIExpYlZOQy9hdXRvdG9vbHMtZml4LXJldmlzaXRlZCBBZGQgYXV0b2NvbmYgbWFjcm9zIHRoYXQgbWlnaHQgbm90IGJlIGluc3RhbGxlZCB3aXRoIGEgdXN1YWwKCWF1dG90b29scyBzZXR1cAoKMjAxNC0xMC0wNyAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiBhdXRvZ2VuLnNoOiBBZGQgYmFjayBhIHdvcmtpbmcgYXV0b2dlbi5zaCBUaGVyZSB3YXMgbm8gcmVhc29uIHRvIGdldCByaWQgb2YgdGhlIGNvbnZlbmllbnQgc2NyaXB0LiBNb3N0CglkZXZlbG9wZXJzIHdobyBhcmUgbm90IGluIGxvdmUgd2l0aCBhdXRvY29uZiBmYWlsIHRvIHJlbWVtYmVyIHRoYXQKCWF1dG9yZWNvbmYgaW52b2NhdGlvbiwgdGhlcmVmb3JlIGl0IGlzIGJldHRlciB0byBoYXZlIHNvbWV0aGluZwoJd29ya2luZyBpbiBwbGFjZS4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxNC0wOS0wMSAgTmljb2xhcyBSdWZmIDxucnVmZkBnb29nbGUuY29tPgoKCSogbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBGaXggc3RhY2stYmFzZWQgYnVmZmVyIG92ZXJmbG93IFRoZXJlIHdhcyBhIHBvc3NpYmxlIGJ1ZmZlciBvdmVyZmxvdyBpbiByZmJGaWxlVHJhbnNmZXJPZmZlciBtZXNzYWdlCgl3aGVuIHByb2Nlc3NpbmcgdGhlIEZpbGVUaW1lLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDE0LTEwLTA3ICBkc2NobyA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiA6IE1lcmdlIHB1bGwgcmVxdWVzdCAjNDEgZnJvbSBuZXdzb2Z0L21hc3RlciBGaXhpbmcgMiBzZWN1cml0eSBpc3N1ZXMKCjIwMTQtMTAtMDYgIG5ld3NvZnQgPG5ld3NvZnRAZ214LmZyPgoKCSogbGlidm5jc2VydmVyL3NjYWxlLmM6IE1ha2Ugc3VyZSB0aGF0IG5vIGludGVnZXIgb3ZlcmZsb3cgY291bGQKCW9jY3VyIGR1cmluZyBzY2FsaW5nCgoyMDE0LTEwLTA2ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvTWFrZWZpbGUuYW06IEFkZCBsaWJ2bmNjbGllbnQvaDI2NC5jIHRvIGRpc3QgdGFyYmFsbC4gIE90aGVyd2lzZSB0aGUgc291cmNlcyBmcm9tIGEgJ21ha2UgZGlzdCcgcGFja2FnZSB3b3VsZG4ndCBjb21waWxlLgoKMjAxNC0xMC0wMyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbTQvLmdpdGlnbm9yZTogUmVhbGx5IGFkZCBlbXB0eSBtNCBzdWJkaXJlY3RvcnkuICBUaGlzIGNoYW5nZSBraW5kYSBnb3QgbG9zdCB3aXRoIHRoZSBsYXN0IGNvbW1pdCByZS1zcGxpdHRpbmcuCgoyMDE0LTEwLTAyICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiA6IE1lcmdlIHB1bGwgcmVxdWVzdCAjMzggZnJvbSBMaWJWTkMvYXV0b3Rvb2xzLWZpeC1yZXZpc2l0ZWQgQXV0b3Rvb2xzIGZpeCByZXZpc2l0ZWQuCgoyMDE0LTEwLTAyICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiB3ZWJjbGllbnRzL25vdm5jL0xJQ0VOU0UudHh0LCB3ZWJjbGllbnRzL25vdm5jL1JFQURNRS5tZCwKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9iYXNlLmNzcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9iYXNlNjQuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvYmxhY2suY3NzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL2JsdWUuY3NzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL2Nocm9tZS1hcHAvdGNwLWNsaWVudC5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9kZXMuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvZGlzcGxheS5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9pbnB1dC5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9qc3VuemlwLmpzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL2tleWJvYXJkLmpzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL2tleXN5bS5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9rZXlzeW1kZWYuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvcGxheWJhY2suanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvcmZiLmpzLCB3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvdWkuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvdXRpbC5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS93ZWItc29ja2V0LWpzL3dlYl9zb2NrZXQuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvd2Vic29jay5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS93ZWJ1dGlsLmpzLCB3ZWJjbGllbnRzL25vdm5jL3ZuYy5odG1sLAoJd2ViY2xpZW50cy9ub3ZuYy92bmNfYXV0by5odG1sOiBVcGRhdGUgbm9WTkMgSFRNTDUgY2xpZW50IHRvIGxhdGVzdAoJdmVyc2lvbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9rYW5ha2Evbm9WTkMuCgoyMDE0LTA5LTIxICBCcmlhbiBCaWR1bG9jayA8YmlkdWxvY2tAb3BlbnNzNy5vcmc+CgoJKiAuZ2l0aWdub3JlOiBhZGQgYSBmZXcgbW9yZSBpZ25vcmVzCgoyMDE0LTA5LTIxICBCcmlhbiBCaWR1bG9jayA8YmlkdWxvY2tAb3BlbnNzNy5vcmc+CgoJKiBhdXRvZ2VuLnNoOiByZW1vdmVkIGF1dG9nZW4uc2ggIC0gbm8gbG9uZ2VyIGFwcGxpY2FibGU6IHVzZSBhdXRvcmVjb25mIC1maXYKCjIwMTQtMTAtMDIgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIElOU1RBTEwsIGFjaW5jbHVkZS5tNCwgbHRtYWluLnNoOiBSZW1vdmUgYXV0b3Rvb2xzLXJlbGF0ZWQgZmlsZXMKCXRoYXQgd2lsbCBnZXQgaW5zdGFsbGVkIGJ5IGF1dG9yZWNvbmYgLWkuCgoyMDE0LTEwLTAyICBCcmlhbiBCaWR1bG9jayA8YmlkdWxvY2tAb3BlbnNzNy5vcmc+CgoJKiBNYWtlZmlsZS5hbSwgY29uZmlndXJlLmFjOiBVc2UgYW4gbTQgc2NyaXB0IHN1YmRpcmVjdG9yeSwgZml4CglhdXRvbWFrZSBpbml0IGFuZCB0d28gbWFjcm8gbmFtZXMuCgoyMDE0LTEwLTAyICBCcmlhbiBCaWR1bG9jayA8YmlkdWxvY2tAb3BlbnNzNy5vcmc+CgoJKiBjbGllbnRfZXhhbXBsZXMvTWFrZWZpbGUuYW0sIGV4YW1wbGVzL01ha2VmaWxlLmFtLAoJZXhhbXBsZXMvYW5kcm9pZC9NYWtlZmlsZS5hbSwgbGlidm5jY2xpZW50L01ha2VmaWxlLmFtLAoJbGlidm5jc2VydmVyL01ha2VmaWxlLmFtLCB0ZXN0L01ha2VmaWxlLmFtOiBSZW5hbWUgb2Jzb2xldGUgSU5DTFVERVMKCXRvIEFNX0NQUEZMQUdTCgoyMDE0LTA5LTMwICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIGxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvaGFuZGxlZmlsZXRyYW5zZmVycmVxdWVzdC5jOiAKCUNsb3NlIHVuY2xvc2VkIGNvbW1lbnRzIDstKSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDktMzAgIGRzY2hvIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIDogTWVyZ2UgcHVsbCByZXF1ZXN0ICMzNiBmcm9tIGRhbmllbGdpbmRpL21hc3RlciBBIGZvcmdvdHRlbiBgI2lmZGVmIFdJTjMyYCBicm9rZSBVTklYIGJ1aWxkLgoKMjAxNC0wOS0zMCAgZHNjaG8gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogOiBNZXJnZSBwdWxsIHJlcXVlc3QgIzMzIGZyb20gZGFuaWVsZ2luZGkvbWFzdGVyIE1vcmUgTVNWQyBhZGp1c3RtZW50cywgbm93IGZvY3VzZXMgb24gdGhlIGxpYnZuY3NlcnZlcgoKMjAxNC0wOS0yMCAgRGFuaWVsIENvaGVuIEdpbmRpIDxkYW5pZWxnaW5kaUBnbWFpbC5jb20+CgoJKiBsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL2hhbmRsZWZpbGV0cmFuc2ZlcnJlcXVlc3QuYzogCglUaGVzZSBhcmUgVU5JWCBoZWFkZXJzLCBhbmQgYXJlIG5vdCBhdmFpbGFibGUgb24gTVNWQwoKMjAxNC0wOS0yMCAgRGFuaWVsIENvaGVuIEdpbmRpIDxkYW5pZWxnaW5kaUBnbWFpbC5jb20+CgoJKiByZmIvcmZiLmg6IFRob3NlIGFyZSBnZW5lcmFsbHkgdGhlIHdpbmRvd3MgaGVhZGVycywgbm90IGp1c3QgTWluR1cKCjIwMTQtMDktMjAgIERhbmllbCBDb2hlbiBHaW5kaSA8ZGFuaWVsZ2luZGlAZ21haWwuY29tPgoKCSogbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBPbiB3aW5kb3dzLCB1c2UgdGhlIFdpbjMyIGNhbGxzIGZvcgoJZGlyZWN0b3J5IGVudW1lcmF0aW9ucy4gIFdlIGFsc28gZG8gbm90IG5lZWQgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBVTklYIHZhbHVlcyB0byBXaW5kb3dzCgl2YWx1ZXMgaW4gdGhlIFJURl9GSU5EX0RBVEEgc3RydWN0LCBhcyB3ZSBhbHJlYWR5IGFyZSBvbiB3aW5kb3dzLgoKMjAxNC0wOS0yMCAgRGFuaWVsIENvaGVuIEdpbmRpIDxkYW5pZWxnaW5kaUBnbWFpbC5jb20+CgoJKiBsaWJ2bmNzZXJ2ZXIvaHR0cGQuYywgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLAoJbGlidm5jc2VydmVyL3NvY2tldHMuYywgcmZiL3JmYmNsaWVudC5oOiBHZW5lcmFsbHkgYWRqdXN0aW5nIGhlYWRlcnMKCWZvciBjb21waWxpbmcgb24gd2luZG93cyB3aXRob3V0IHRoZSBtaXhpbmcgb2YgV2luc29jayAxIGFuZCAyLgoKMjAxNC0wOS0yMCAgRGFuaWVsIENvaGVuIEdpbmRpIDxkYW5pZWxnaW5kaUBnbWFpbC5jb20+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmM6IEp1c3QgdXNlIGEgbWFjcm8gdG8gYnJpZGdlIHRvIHRoZSBXaW4zMgoJdmVyc2lvbiBvZiBgbWtkaXJgIFRoZSBhZGRpdGlvbmFsIGNvbXBhdF9ta2RpciBmdW5jdGlvbiB3YXMgbm90IG5lY2Vzc2FyeSBhdCBhbGwuCgoyMDE0LTA5LTIwICBEYW5pZWwgQ29oZW4gR2luZGkgPGRhbmllbGdpbmRpQGdtYWlsLmNvbT4KCgkqIGNvbXBhdC9tc3ZjL3N5cy90aW1lLmg6IFVzZSBjb3JyZWN0IGB3aW5zb2NrMi5oYCB2ZXJzaW9uIGhlYWRlcgoJaW5zdGVhZCBvZiB3aW5zb2NrLmguICBgd2luZG93cy5oYCBpcyByZWZlcnJpbmcgdG8gYHdpbnNvY2suaGAgKHVubGVzcyB0aGUKCWBXSU4zMl9MRUFOX0FORF9NRUFOYCBpcyBkZWZpbmVkKS4gIFRoZSBzdHJ1Y3RzIHVzZWQgaW4gdGhpcyBoZWFkZXIKCWFyZSBkZWZpbmVkIGluIGB3aW5zb2NrMi5oYCBvciBpbiBgd2luc29jay5oYCwgYnV0IHdlIGFyZSB1c2luZwoJV2luc29jazIgb2YgY291cnNlISBTbyB3ZSBoYXZlIHRvIGluY2x1ZGUgd2luc29jazIuaCBhbmQgcmVmcmFpbgoJZnJvbSBpbmNsdWRpbmcgd2luZG93cy5oIGhlcmUKCjIwMTQtMDktMjAgIERhbmllbCBDb2hlbiBHaW5kaSA8ZGFuaWVsZ2luZGlAZ21haWwuY29tPgoKCSogbGlidm5jc2VydmVyL2h0dHBkLmMsIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywKCWxpYnZuY3NlcnZlci9zb2NrZXRzLmM6IEZpeGVkIGEgdmlvbGF0aW9uIG9mIHRoZSBDODkgc3RhbmRhcmQKCSgiZGVjbGFyYXRpb25zIG11c3QgY29tZSBiZWZvcmUgaW5zdHJ1Y3Rpb25zIikKCjIwMTQtMDktMjAgIERhbmllbCBDb2hlbiBHaW5kaSA8ZGFuaWVsZ2luZGlAZ21haWwuY29tPgoKCSogbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9maWxldHJhbnNmZXJtc2cuYzogQSB3aW5kb3dzCgl2ZXJzaW9uIGZvciBkaXJlY3RvcnkgZW51bWVyYXRpb25zIEJhc2ljYWxseSB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZWxnaW5kaS9GaWxlRGlyIHdpdGgKCXNvbWUgYWRqdXN0bWVudHMKCjIwMTQtMDktMjAgIERhbmllbCBDb2hlbiBHaW5kaSA8ZGFuaWVsZ2luZGlAZ21haWwuY29tPgoKCSogbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9maWxldHJhbnNmZXJtc2cuYzogTVNWQyBhbHNvCgloYXMgdGhlIF9fRlVOQ1RJT05fXyBwcmVkZWZpbmVkCgoyMDE0LTA5LTIwICBEYW5pZWwgQ29oZW4gR2luZGkgPGRhbmllbGdpbmRpQGdtYWlsLmNvbT4KCgkqIGxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvZmlsZXRyYW5zZmVybXNnLmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL2ZpbGV0cmFuc2Zlcm1zZy5oOiAKCWBDcmVhdGVEaXJlY3RvcnlgIG1pZ2h0IGNsYXNoIHdpdGggdGhlCglgQ3JlYXRlRGlyZWN0b3J5QWAvYENyZWF0ZURpcmVjdG9yeVdgIG1hY3JvcyBvbiBNU1ZDCgoyMDE0LTA5LTIwICBEYW5pZWwgQ29oZW4gR2luZGkgPGRhbmllbGdpbmRpQGdtYWlsLmNvbT4KCgkqIGxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvZmlsZXRyYW5zZmVybXNnLmM6IEZhaWwgd2hlbgoJTlVMTCBpcyBwYXNzZWQgdG8gQ3JlYXRlRmlsZUxpc3RJbmZvKCkgUGFzc2luZyBOVUxMIHRvIHNwcmludGYoKSB3b3VsZCBtb3N0IGxpa2VseSBjcmFzaCB0aGUgcHJvZ3JhbS4KCjIwMTQtMDktMjAgIERhbmllbCBDb2hlbiBHaW5kaSA8ZGFuaWVsZ2luZGlAZ21haWwuY29tPgoKCSogbGlidm5jY2xpZW50L3JmYnByb3RvLmMsIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywKCWxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgbGlidm5jc2VydmVyL3NvY2tldHMuYywKCWxpYnZuY3NlcnZlci9zdGF0cy5jLCBsaWJ2bmNzZXJ2ZXIvd2Vic29ja2V0cy5jOiBgc3RyaW5ncy5oYCBhbmQKCWByZXNvbHYuaGAgYXJlIG5vdCBhdmFpbGFibGUgb24gTVNWQywgYW5kIHNvbWUgUE9TSVggZnVuY3Rpb25zIGFyZQoJcmVuYW1lZCBvciBkZXByZWNhdGVkIEZvciBhbGwgb2YgdGhvc2UgbWlzc2luZy9kZXByZWNhdGVkIFBPU0lYIGZ1bmN0aW9ucywgd2UganVzdCBhZGQgYQoJbWFjcm8gbWFwcGluZyB0byB0aGUgX3VuZGVyc2NvcmVkIHZlcnNpb24gb2YgTVNWQy4KCjIwMTQtMDktMDkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNsaWVudF9leGFtcGxlcy9NYWtlZmlsZS5hbTogVGhlIEhBVkVfWDExIGRlZmluZSBpcyBub3QgdGhlcmUKCWFueW1vcmUsIGJ1dCB3ZSBkb24ndCBuZWVkIGl0IGVpdGhlci4KCjIwMTQtMDktMDkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIE1ha2VmaWxlLmFtLCBjb25maWd1cmUuYWMsIHZuY3Rlcm0vQ2hhbmdlTG9nLCB2bmN0ZXJtL0xpbnV4Vk5DLmMsCgl2bmN0ZXJtL01ha2VmaWxlLmFtLCB2bmN0ZXJtL1JFQURNRSwgdm5jdGVybS9UT0RPLAoJdm5jdGVybS9WTkNvbW1hbmQuYywgdm5jdGVybS9WTkNvbnNvbGUuYywgdm5jdGVybS9WTkNvbnNvbGUuaCwKCXZuY3Rlcm0vZXhhbXBsZS5jLCB2bmN0ZXJtL3ZnYS5oOiBNb3ZlIHZuY3Rlcm0gdG8KCWh0dHBzOi8vZ2l0aHViLmNvbS9MaWJWTkMvdm5jdGVybS4KCjIwMTQtMDktMDkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIFZpc3VhbE5hQ3JvLy5naXRpZ25vcmUsIFZpc3VhbE5hQ3JvL0FVVEhPUlMsCglWaXN1YWxOYUNyby9DaGFuZ2VMb2csIFZpc3VhbE5hQ3JvL01ha2VmaWxlLmFtLCBWaXN1YWxOYUNyby9ORVdTLAoJVmlzdWFsTmFDcm8vUkVBRE1FLCBWaXN1YWxOYUNyby9hdXRvZ2VuLnNoLAoJVmlzdWFsTmFDcm8vY29uZmlndXJlLmFjLCBWaXN1YWxOYUNyby9kZWZhdWx0OHgxNi5oLAoJVmlzdWFsTmFDcm8vbmFjcm8uYywgVmlzdWFsTmFDcm8vbmFjcm8uaCwgVmlzdWFsTmFDcm8vcmVjb3JkZXIucGw6IAoJTW92ZSBWaXN1YWxOYUNybyB0byBodHRwczovL2dpdGh1Yi5jb20vTGliVk5DL1Zpc3VhbE5hQ3JvLgoKMjAxNC0wOS0wOSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogcHJlcGFyZV94MTF2bmNfZGlzdC5zaDogTW92ZSBwcmVwYXJlX3gxMXZuY19kaXN0LnNoIG92ZXIgdG8geDExdm5jCglyZXBvLgoKMjAxNC0wOS0wMyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogTWFrZWZpbGUuYW0sIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIHgxMXZuYyBmcm9tIGF1dG90b29scyBidWlsZAoJc3lzdGVtLgoKMjAxNC0wOS0wMyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogdGlnaHR2bmMtMS4zZGV2NS12bmN2aWV3ZXItYWxwaGEtY3Vyc29yLnBhdGNoOiBSZW1vdmUKCXRpZ2h0dm5jLTEuM2RldjUtdm5jdmlld2VyLWFscGhhLWN1cnNvci5wYXRjaC4KCjIwMTQtMDktMDMgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIHgxMXZuYy8uY3ZzaWdub3JlLCB4MTF2bmMvOHRvMjQuYywgeDExdm5jLzh0bzI0LmgsCgl4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvTWFrZWZpbGUuYW0sIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMvUkVMRUFTRS1OT1RFUywgeDExdm5jL2FsbG93ZWRfaW5wdXRfdC5oLCB4MTF2bmMvYXBwc2hhcmUuYywKCXgxMXZuYy9hdmFoaS5jLCB4MTF2bmMvYXZhaGkuaCwgeDExdm5jL2JsYWNrb3V0X3QuaCwKCXgxMXZuYy9jbGVhbnVwLmMsIHgxMXZuYy9jbGVhbnVwLmgsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2Nvbm5lY3Rpb25zLmgsIHgxMXZuYy9jdXJzb3IuYywgeDExdm5jL2N1cnNvci5oLAoJeDExdm5jL2VuYy5oLCB4MTF2bmMvZW51bXMuaCwgeDExdm5jL2d1aS5jLCB4MTF2bmMvZ3VpLmgsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvaGVscC5oLCB4MTF2bmMvaW5ldC5jLCB4MTF2bmMvaW5ldC5oLAoJeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9rZXlib2FyZC5oLCB4MTF2bmMvbGludXhmYi5jLAoJeDExdm5jL2xpbnV4ZmIuaCwgeDExdm5jL21hY29zeC5jLCB4MTF2bmMvbWFjb3N4LmgsCgl4MTF2bmMvbWFjb3N4Q0cuYywgeDExdm5jL21hY29zeENHLmgsIHgxMXZuYy9tYWNvc3hDR1AuYywKCXgxMXZuYy9tYWNvc3hDR1AuaCwgeDExdm5jL21hY29zeENHUy5jLCB4MTF2bmMvbWFjb3N4Q0dTLmgsCgl4MTF2bmMvbWFjb3N4X29wZW5nbC5jLCB4MTF2bmMvbWFjb3N4X29wZW5nbC5oLAoJeDExdm5jL21pc2MvLmN2c2lnbm9yZSwgeDExdm5jL21pc2MvTElDRU5TRSwKCXgxMXZuYy9taXNjL01ha2VmaWxlLmFtLCB4MTF2bmMvbWlzYy9SRUFETUUsIHgxMXZuYy9taXNjL1hkdW1teSwKCXgxMXZuYy9taXNjL2Jsb2NrZHB5LmMsIHgxMXZuYy9taXNjL2Nvbm5lY3Rfc3dpdGNoLAoJeDExdm5jL21pc2MvZGVza3RvcC5jZ2ksIHgxMXZuYy9taXNjL2R0Vm5jUG9wdXAsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvQ09QWUlORywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy9SRUFETUUudHh0LAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1dpbmRvd3Mvc3Nodm5jLmJhdCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3Rzdm5jLmJhdCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvY29ubmVjdF9ici50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2luZm8vZXNvdW5kL2Rvd25sCglvYWQudXJsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1dpbmRvd3MvdXRpbC9pbmZvL29wZW5zc2wvZG93bgoJbG9hZC51cmwsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2luZm8vb3BlbnNzbC9sb2NhCgl0aW9uLnVybCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvaW5mby9wbGluay9kb3dubG8KCWFkLnVybCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvaW5mby9wbGluay9saWNlbmMKCWUudXJsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1dpbmRvd3MvdXRpbC9pbmZvL3N0dW5uZWwvZG93bgoJbG9hZC51cmwsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2luZm8vc3R1bm5lbC9sb2NhCgl0aW9uLnVybCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvaW5mby92bmN2aWV3ZXIvZG8KCXdubG9hZC51cmwsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2luZm8vdm5jdmlld2VyL2xvCgljYXRpb24udXJsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1dpbmRvd3MvdXRpbC9zdHVubmVsLWNsaWVudC5jbwoJbmYsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL3N0dW5uZWwtc2VydmVyLmNvCgluZiwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvdzk4L2xvY2F0aW9uLnVybCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vRGFyd2luLlBvd2VyLk1hY2ludG9zaC8uY3AKCW92ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL0Rhcndpbi5Qb3dlci5NYWNpbnRvc2gvdm5jCgl2aWV3ZXIuc2gsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL0Rhcndpbi5pMzg2Ly5jcG92ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3NzaHZuYywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmMsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3Nzdm5jX2NtZCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdHN2bmMsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zdHVubmVsLXNlcnZlci5jb25mLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2J1aWxkLnVuaXgsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvZmlsZWxpc3QudHh0LAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL21hbi9tYW4xL3Nzdm5jLjEsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvbWFuL21hbjEvc3N2bmN2aWV3ZXIuMSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvUkVBRE1FLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL19nZXRwYXRjaGVzLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL192bmNwYXRjaGFwcGxpZWQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvc3R1bm5lbC1tYXhjb25uLnBhCgl0Y2gsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvdGlnaHQtdm5jdmlld2VyLWZ1CglsbC5wYXRjaCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy90aWdodC12bmN2aWV3ZXItZnUKCWxsc2NyZWVuLnBhdGNoLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1uZQoJd2Zic2l6ZS5wYXRjaCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvemlwcy9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3N2bmMuZGVza3RvcCwKCXgxMXZuYy9taXNjL2luZXQ2dG80LCB4MTF2bmMvbWlzYy9wYW5uZXIucGwsCgl4MTF2bmMvbWlzYy9xdF90c2xpYl9pbmplY3QucGwsIHgxMXZuYy9taXNjL3JhbmZiLnBsLAoJeDExdm5jL21pc2MvcngxMXZuYywgeDExdm5jL21pc2MvcngxMXZuYy5wbCwgeDExdm5jL21pc2Mvc2htX2NsZWFyLAoJeDExdm5jL21pc2Mvc2xpZGUucGwsIHgxMXZuYy9taXNjL3R1cmJvdm5jL01ha2VmaWxlLmFtLAoJeDExdm5jL21pc2MvdHVyYm92bmMvUkVBRE1FLCB4MTF2bmMvbWlzYy90dXJib3ZuYy9hcHBseV90dXJib3ZuYywKCXgxMXZuYy9taXNjL3R1cmJvdm5jL2NvbnZlcnQsCgl4MTF2bmMvbWlzYy90dXJib3ZuYy9jb252ZXJ0X3JmYnNlcnZlciwKCXgxMXZuYy9taXNjL3R1cmJvdm5jL3RpZ2h0LmMsIHgxMXZuYy9taXNjL3R1cmJvdm5jL3R1cmJvanBlZy5oLAoJeDExdm5jL21pc2MvdHVyYm92bmMvdW5kb190dXJib3ZuYywgeDExdm5jL21pc2MvdWlucHV0LnBsLAoJeDExdm5jL21pc2MvdWx0cmF2bmNfcmVwZWF0ZXIucGwsIHgxMXZuYy9taXNjL3ZjaW5qZWN0LnBsLAoJeDExdm5jL21pc2MveDExdm5jX2xvb3AsIHgxMXZuYy9taXNjL3gxMXZuY19wdywgeDExdm5jL25veDExLmgsCgl4MTF2bmMvbm94MTFfZnVuY3MuaCwgeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwKCXgxMXZuYy9wYXJhbXMuaCwgeDExdm5jL3BtLmMsIHgxMXZuYy9wbS5oLCB4MTF2bmMvcG9pbnRlci5jLAoJeDExdm5jL3BvaW50ZXIuaCwgeDExdm5jL3JhdGVzLmMsIHgxMXZuYy9yYXRlcy5oLCB4MTF2bmMvcmVtb3RlLmMsCgl4MTF2bmMvcmVtb3RlLmgsIHgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY2FuLmgsIHgxMXZuYy9zY3JlZW4uYywKCXgxMXZuYy9zY3JlZW4uaCwgeDExdm5jL3Njcm9sbGV2ZW50X3QuaCwgeDExdm5jL3NlbGVjdGlvbi5jLAoJeDExdm5jL3NlbGVjdGlvbi5oLCB4MTF2bmMvc29saWQuYywgeDExdm5jL3NvbGlkLmgsCgl4MTF2bmMvc3NsY21kcy5jLCB4MTF2bmMvc3NsY21kcy5oLCB4MTF2bmMvc3NsaGVscGVyLmMsCgl4MTF2bmMvc3NsaGVscGVyLmgsIHgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VpbnB1dC5jLCB4MTF2bmMvdWlucHV0LmgsCgl4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy91bml4cHcuaCwgeDExdm5jL3VzZXIuYywgeDExdm5jL3VzZXIuaCwKCXgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3VzZXJpbnB1dC5oLCB4MTF2bmMvdXRpbC5jLAoJeDExdm5jL3V0aWwuaCwgeDExdm5jL3Y0bC5jLCB4MTF2bmMvdjRsLmgsIHgxMXZuYy93aW5fdXRpbHMuYywKCXgxMXZuYy93aW5fdXRpbHMuaCwgeDExdm5jL3dpbmF0dHJfdC5oLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuZGVza3RvcCwgeDExdm5jL3gxMXZuYy5oLAoJeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZGFtYWdlLmMsIHgxMXZuYy94ZGFtYWdlLmgsCgl4MTF2bmMveGV2ZW50cy5jLCB4MTF2bmMveGV2ZW50cy5oLCB4MTF2bmMveGluZXJhbWEuYywKCXgxMXZuYy94aW5lcmFtYS5oLCB4MTF2bmMveGtiX2JlbGwuYywgeDExdm5jL3hrYl9iZWxsLmgsCgl4MTF2bmMveHJhbmRyLmMsIHgxMXZuYy94cmFuZHIuaCwgeDExdm5jL3hyZWNvcmQuYywKCXgxMXZuYy94cmVjb3JkLmgsIHgxMXZuYy94d3JhcHBlcnMuYywgeDExdm5jL3h3cmFwcGVycy5oOiBSZW1vdmUKCXgxMXZuYyBzdWJkaXIuICBUaGUgbmV3IHgxMXZuYyByZXBvIGlzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MaWJWTkMveDExdm5jLgoKMjAxNC0wOS0wMiAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiBsaWJ2bmNjbGllbnQvdGxzX29wZW5zc2wuYzogRml4IHR2X3VzZWMgY2FsY3VsYXRpb24gVGhpcyBidWcgd2FzIGludHJvZHVjZWQgaW4gdGhlIE1TVkMgcGF0Y2hlcy4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxNC0wOC0yOSAgRGFuaWVsIENvaGVuIEdpbmRpIDxkYW5pZWxnaW5kaUBnbWFpbC5jb20+CgoJKiBsaWJ2bmNjbGllbnQvdGxzX29wZW5zc2wuYzogVXNlIFdpbmRvd3MnIGNyaXRpY2FsIHNlY3Rpb25zIHRvCgllbXVsYXRlIHB0aHJlYWQncyBtdXRleGVzIFdpdGggTWljcm9zb2Z0IFZpc3VhbCBDKyssIHdlIGNhbm5vdCB1c2UgcHRocmVhZHMgKE1pbkdXIHNwb3J0cyBhbgoJZW11bGF0aW9uIGxpYnJhcnkgd2hpY2ggaXMgdGhlIHJlYXNvbiB3ZSBkaWQgbm90IG5lZWQKCVdpbmRvd3Mtc3BlY2lmaWMgaGFja3MgZWFybGllcikuIEhhcHBpbHksIGl0IGlzIHZlcnkgZWFzeSB0byBwcm92aWRlCglXaW5kb3dzLXNwZWNpZmljIGVtdWxhdGlvbnMgZm9yIHRoZSBwdGhyZWFkIGNhbGxzIHdlIHVzZS4gIFtKRVM6IGZpeGVkIGNvbW1pdCBtZXNzYWdlXSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDgtMjkgIERhbmllbCBDb2hlbiBHaW5kaSA8ZGFuaWVsZ2luZGlAZ21haWwuY29tPgoKCSogbGlidm5jY2xpZW50L3pybGUuYzogUGVyZm9ybSBwb2ludGVyIGFyaXRobWV0aWMgb24gY2hhciAqIGluc3RlYWQKCW9mIHZvaWQgKiBNaWNyb3NvZnQgVmlzdWFsIEMrKyBkb2VzIG5vdCBhbGxvdyBwb2ludGVyIGFyaXRobWV0aWMgb24gdm9pZAoJcG9pbnRlcnMuICBbSkVTOiBmaXhlZCBjb21taXQgbWVzc2FnZV0gU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDE0LTA4LTI5ICBEYW5pZWwgQ29oZW4gR2luZGkgPGRhbmllbGdpbmRpQGdtYWlsLmNvbT4KCgkqIGxpYnZuY2NsaWVudC90bHNfb3BlbnNzbC5jLCByZmIvcmZicHJvdG8uaDogTVNWQzogVXNlIHRoZSBVbml4CgllbXVsYXRpb24gaGVhZGVycyBbSkVTOiBwcm92aWRlZCBjb21taXQgbWVzc2FnZSwgc3BsaXQgb3V0IHVucmVsYXRlZCBjaGFuZ2VzXSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDgtMjkgIERhbmllbCBDb2hlbiBHaW5kaSA8ZGFuaWVsZ2luZGlAZ21haWwuY29tPgoKCSogbGlidm5jY2xpZW50L2xpc3Rlbi5jLCBsaWJ2bmNjbGllbnQvc29ja2V0cy5jLAoJbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jOiBVc2UgV0lOMzIgZm9yIFdpbmRvd3Mtc3BlY2lmaWMgI2lmZGVmCglndWFyZHMgVG8gc3VwcG9ydCBNaWNyb3NvZnQgVmlzdWFsIEMrKywgd2UgbXVzdCBub3QgZ3VhcmQgV2luZG93cy1zcGVjaWZpYwoJY29kZSBpbiBNaW5HVy1zcGVjaWZpYyAjaWZkZWYgZ3VhcmRzLiAgSGFwcGlseSwgZXZlbiA2NC1iaXQgTVNWQyBkZWZpbmVzIHRoZSBXSU4zMiBjb25zdGFudCwgdGhlcmVmb3JlIHdlCgljYW4gdXNlIHRoYXQgaW5zdGVhZC4gIFtKRVM6IGZpeGVkIGNvbW1pdCBtZXNzYWdlLCByZW9yZGVyZWQgY29tbWl0LCBzcGxpdCBvdXQgdW5yZWxhdGVkCgljaGFuZ2VzXSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDgtMjkgIERhbmllbCBDb2hlbiBHaW5kaSA8ZGFuaWVsZ2luZGlAZ21haWwuY29tPgoKCSogY29tcGF0L21zdmMvc3RkaW50LmgsIGNvbXBhdC9tc3ZjL3N5cy90aW1lLmgsCgljb21wYXQvbXN2Yy91bmlzdGQuaDogQWRkIE1TVkMgY29tcGF0aWJsZSB1bml4IGhlYWRlcnMgVGhlIHN0ZGludC5oIGZpbGUgd2FzIGNvcGllZCBmcm9tOgoJaHR0cHM6Ly9ydW5leGUuZ29vZ2xlY29kZS5jb20vc3ZuLWhpc3RvcnkvcjkvdHJ1bmsvc3JjL3J1bmxpYi9tc3N0ZGludC5oKHdlIGNhbiBpbmNvcnBvcmF0ZSBpdCBiZWNhdXNlIGl0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSAzLWNsYXVzZSBCU0QKCWxpY2Vuc2UuKSBbSkVTOiBmaXhlZCBjb21taXQgbWVzc2FnZSwgZml4ZWQgc3RyaXBwZWQgY29weXJpZ2h0IGhlYWRlcl0gU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDE0LTA5LTAxICBEYW5pZWwgQ29oZW4gR2luZGkgPGRhbmllbGdpbmRpQGdtYWlsLmNvbT4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvc29ja2V0cy5jLAoJbGlidm5jY2xpZW50L3Rsc19vcGVuc3NsLmM6IE1TVkM6IFVzZSBfc25wcmludGYgaW5zdGVhZCBvZiBzbnByaW50ZiBJbiBNaWNyb3NvZnQncyBWaXN1YWwgQyBydW50aW1lLCB0aGUgc25wcmludGYoKSBmdW5jdGlvbiBpcyBhY3R1YWxseQoJY2FsbGVkIF9zbnByaW50Zi4gTGV0J3MganVzdCAjZGVmaW5lIHRoZSBmb3JtZXIgdG8gY2FsbCB0aGUgbGF0dGVyLiAgW0pFUzogZml4ZWQgY29tbWl0IG1lc3NhZ2VdIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxNC0wOS0wMSAgRGFuaWVsIENvaGVuIEdpbmRpIDxkYW5pZWxnaW5kaUBnbWFpbC5jb20+CgoJKiByZmIvcmZicHJvdG8uaDogVXNlIGNvcnJlY3Qgd2luc29jayBoZWFkZXIgV2UgbGluayB0byB3czJfMzIubGliIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSB3aW5zb2NrMi5oIGhlYWRlciwKCW5vdCB0aGUgd2luc29jay5oIGhlYWRlci4gIFtKRVM6IGZpeGVkIGNvbW1pdCBtZXNzYWdlXSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDgtMjkgIERhbmllbCBDb2hlbiBHaW5kaSA8ZGFuaWVsZ2luZGlAZ21haWwuY29tPgoKCSogbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jOiBJbmNsdWRlIFdpbnNvY2syIGhlYWRlciBiZWZvcmUgd2luZG93cy5oCglpbmNsdWRlIFRoYXQncyBiZWNhdXNlIHRoZXJlIGFyZSBkdXBsaWNhdGUgI2RlZmluZXMsIGFuZCB3aGVuIFdpbnNvY2syIGlzCglkZWZpbmVkIGJlZm9yZSB3aW5kb3dzLmggdGhlbiB3aW5kb3dzLmggZGV0ZWN0cyB0aGF0IGFuZCBwcmV2ZW50CglyZWRlZmluaXRpb24uICBTZWUKCglodHRwOi8vc29jaWFsLm1zZG4ubWljcm9zb2Z0LmNvbS9Gb3J1bXMvd2luZG93c2Rlc2t0b3AvZW4tVVMvNGE5MGIxNDMtMWZiOC00M2U5LWE1NGMtOTU2MTI3ZTBjNTc5L3dpbmRvd3NoLWFuZC13aW5zb2NrMmg/Zm9ydW09d2luZG93c3Nka1tKRVM6IGZpeGVkIGNvbW1pdCBtZXNzYWdlXSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDktMDEgIERhbmllbCBDb2hlbiBHaW5kaSA8ZGFuaWVsZ2luZGlAZ21haWwuY29tPgoKCSogbGlidm5jY2xpZW50L3Rsc19vcGVuc3NsLmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIFRoaXMgY2hhbmdlIGlzIHRlY2huaWNhbGx5IG5vdCByZXF1aXJlZCB0byBzdXBwb3J0IE1TVkMsIGJ1dCBpdCB3YXMKCWRldGVjdGVkIGJ5IE1pY3Jvc29mdCdzIGNvbXBpbGVyLiAgW0pFUzogZml4ZWQgY29tbWl0IG1lc3NhZ2VdIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxNC0wOC0yNiAgZHNjaG8gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogOiBNZXJnZSBwdWxsIHJlcXVlc3QgIzIxIGZyb20gbmV3c29mdC9tYXN0ZXIgRml4aW5nIHR3byBtb3JlIHNlY3VyaXR5IGlzc3VlcyAocmVtb3RlIHNlcnZlciBjcmFzaCkKCjIwMTQtMDgtMTggIE5pY29sYXMgUnVmZiA8bnJ1ZmZAZ29vZ2xlLmNvbT4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogQ2hlY2sgbWFsbG9jKCkgcmV0dXJuIHZhbHVlIG9uCgljbGllbnQtPnNlcnZlciBDbGllbnRDdXRUZXh0IG1lc3NhZ2UuIENsaWVudCBjYW4gc2VuZCB1cCB0byAyKiozMi0xCglieXRlcyBvZiB0ZXh0LCBhbmQgc3VjaCBhIGxhcmdlIGFsbG9jYXRpb24gaXMgbGlrZWx5IHRvIGZhaWwgaW4gY2FzZQoJb2YgaGlnaCBtZW1vcnkgcHJlc3N1cmUuIFRoaXMgd291bGQgaW4gYSBzZXJ2ZXIgY3Jhc2ggKHdyaXRlIGF0CglhZGRyZXNzIDApLgoKMjAxNC0wOC0xNiAgZHNjaG8gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogOiBNZXJnZSBwdWxsIHJlcXVlc3QgIzE2IGZyb20gc2FuZHNtYXJrL21hc3RlciBNZXJnZSBwYXRjaGVzIGZyb20gS0RFL2tyZmIKCjIwMTQtMDgtMTYgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogYWNpbmNsdWRlLm00OiBGaXggd2hpdGVzcGFjZSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDgtMTAgIEx1Y2EgRmFsYXZpZ25hIDxka3Rya3JhbnpAZGViaWFuLm9yZz4KCgkqIGFjaW5jbHVkZS5tNDogRW5hYmxlIHN1cHBvcnQgZm9yIHBwYzY0ZWwgYXJjaGl0ZWN0dXJlCgoyMDE0LTA4LTEwICBMdWNhIEZhbGF2aWduYSA8ZGt0cmtyYW56QGRlYmlhbi5vcmc+CgoJKiBsaWJ2bmNjbGllbnQucGMuaW4sIGxpYnZuY3NlcnZlci5wYy5pbjogVXNlIExpYnMucHJpdmF0ZSB0byBhdm9pZAoJdW5uZWNlc3NhcnkgbGlua2FnZQoKMjAxNC0wOC0xNiAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jOiBGaXggaW5kZW50YXRpb24gU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDE0LTA4LTE2ICBkc2NobyA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiA6IE1lcmdlIHB1bGwgcmVxdWVzdCAjMjAgZnJvbSBuZXdzb2Z0L21hc3RlciBGaXggaW50ZWdlciBvdmVyZmxvdyBpbiBNYWxsb2NGcmFtZUJ1ZmZlcigpCgoyMDE0LTA4LTE1ICBuZXdzb2Z0IDxuZXdzb2Z0QE1hY0Jvb2stQWlyLWRlLW5ld3NvZnQtMi5sb2NhbD4KCgkqIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYzogRml4IGludGVnZXIgb3ZlcmZsb3cgaW4KCU1hbGxvY0ZyYW1lQnVmZmVyKCkgUHJvbW90ZSBpbnRlZ2VycyB0byB1aW50NjRfdCB0byBhdm9pZCBpbnRlZ2VyIG92ZXJmbG93IGlzc3VlIGR1cmluZwoJZnJhbWUgYnVmZmVyIGFsbG9jYXRpb24gZm9yIHZlcnkgbGFyZ2Ugc2NyZWVuIHNpemVzCgoyMDEzLTA5LTI4ICBBbWFuZGVlcCBTaW5naCA8YW1hbi5kZWRtYW5AZ21haWwuY29tPgoKCSogbGlidm5jc2VydmVyL3NvY2tldHMuYzogYWxsb3cgcmZiSW5pdFNvY2tldHMgd2l0aCBub24tcmVhZHkKCXN0YXRlcy4gIFRoaXMgYWxsb3dzIGZvciByZWluaXRpYWxpemF0aW9ucyBvZiBlLiBnLiBzb2NrZXRzIGluIGEgU0hVVERPV04KCXN0YXRlLiAgVGhlIG9ubHkgc3RhdGUgdGhhdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcmVpbml0aWFsaXplIGFyZQoJUkVBRFkgc3RhdGVzLgoKMjAxMy0xMC0wOSAgQW1hbmRlZXAgU2luZ2ggPGFtYW4uZGVkbWFuQGdtYWlsLmNvbT4KCgkqIGxpYnZuY3NlcnZlci9tYWluLmM6IEZpeCBjcmFzaCBpbiBrcmZiIEtyZmIgY3Jhc2hlcyBvbiBxdWl0LCBpZiBhbnkgY2xpZW50IGlzIGNvbm5lY3RlZCBkdWUgdG8gYQoJcmZiQ2xpZW50Q29ubmVjdGlvbkdvbmUgY2FsbCBtaXNzaW5nCgoyMDE0LTA3LTEwICBXaWxsIFRob21wc29uIDx3aWxsQHdpbGx0aG9tcHNvbi5jby51az4KCgkqIHgxMXZuYy94cmFuZHIuYzogeDExdm5jOiBmaXggZG91YmxlIFhfVU5MT0NLIG9uIHhyYW5kciBldmVudHMgY2hlY2tfeHJhbmRyX2V2ZW50KCkgYXNzdW1lcyBYX0xPQ0sgaXMgdGFrZW4gYmVmb3JlIGl0IGlzIGNhbGxlZCwKCWFuZCBjdXJyZW50bHkgY2FsbHMgWF9VTkxPQ0sgb24gYmVoYWxmIG9mIHRoZSBjYWxsZXIuIEJ1dCBpbgoJcHJhY3RpY2UsIGFsbCBjYWxsZXJzIGFzc3VtZSB0aGF0IHRoZSBsb2NrIGlzIHN0aWxsIGhlbGQgYWZ0ZXIKCWNoZWNrX3hyYW5kcl9ldmVudCgpIHJldHVybnMuIEluIHBhcnRpY3VsYXIsIHRoaXMgbGVhZHMgdG8gYQoJZG91YmxlLXVubG9jayBhbmQgY3Jhc2ggaW4gY2hlY2tfeGV2ZW50cygpIG9uIGFueSB4cmFuZHIgZXZlbnQuCgoyMDE0LTA3LTE4ICBkc2NobyA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiA6IE1lcmdlIHB1bGwgcmVxdWVzdCAjMTMgZnJvbQoJd2p0L2ZpeC1kb3VibGUtWF9VTkxPQ0stb24teHJhbmRyLWV2ZW50IHgxMXZuYzogZml4IGRvdWJsZSBYX1VOTE9DSyBvbiB4cmFuZHIgZXZlbnRzCgoyMDE0LTA2LTI3ICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIGNvbW1vbi9sem9jb25mLmgsIGNvbW1vbi9sem9kZWZzLmgsIGNvbW1vbi9taW5pbHpvLmMsCgljb21tb24vbWluaWx6by5oOiBVcGRhdGUgTFpPIHRvIHZlcnNpb24gMi4wNyBJdCB3YXMgcmVwb3J0ZWQgdGhhdCBMWk8gaGFzIHNlY3VyaXR5IGlzc3VlcyBpbiBMTVMtMjAxNC0wNi0xNi0xOgoJT2Jlcmh1bWVyIExaTyAoQ1ZFLTIwMTQtNDYwNyk6CglodHRwOi8vc2VjbGlzdHMub3JnL29zcy1zZWMvMjAxNC9xMi82NjUgVGhpcyB3YXMgYWxzbyByZXBvcnRlZCBieSBBbGV4IFh1IGFzCglodHRwczovL2dpdGh1Yi5jb20vTGliVk5DL2xpYnZuY3NlcnZlci9pc3N1ZXMvOS4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxNC0wNi0yMyAgZHNjaG8gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogOiBNZXJnZSBwdWxsIHJlcXVlc3QgIzcgZnJvbSB3YWxkaGVpbnovaW5pdC1zZmFlLXBhZGRpbmcgSW5pdGlhbGl6ZSBwYWRkaW5nIGluIFNldEZvcm1hdEFuZEVuY29kaW5ncycgcmZiU2V0UGl4ZWxGb3JtYXRNc2cuCgoyMDE0LTA2LTIzICBNYXR0aGlhcyBUcmV5ZHRlIDxtdEB3YWxkaGVpbnouZGU+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYzogSW5pdGlhbGl6ZSBwYWRkaW5nIGluCglTZXRGb3JtYXRBbmRFbmNvZGluZ3MnIHJmYlNldFBpeGVsRm9ybWF0TXNnLgoKMjAxNC0wNi0yMyAgTWF0dGhpYXMgVHJleWR0ZSA8bXRAd2FsZGhlaW56LmRlPgoKCSogQ01ha2VMaXN0cy50eHQ6IFVzZSBDTUFLRV9DVVJSRU5UXypfRElSIGluc3RlYWQgb2YgQ01BS0VfKl9ESVIuICBUaGlzIG1ha2VzIHRoZSBsaWJyYXJ5IGZyaWVuZGx5IHRvIHVzZSBhcyBhIGdpdCBzdWJtb2R1bGUgd2l0aGluCglhbm90aGVyIHByb2plY3QsIGFuZCBzaG91bGQgY2hhbmdlIG5vdGhpbmcgd2hlbiBjb21waWxlZCBhbG9uZS4gIEZvciBleGFtcGxlIHdoZW4gaGF2aW5nIGEgZGlyZWN0b3J5IHN0cnVjdHVyZSBsaWtlCgkibXlfcHJvamVjdC9leHRlcm5hbC9saWJ2bmMiLCB3aGVyZSBpbiBsaWJ2bmMgcmVzaWRlcyBhIGNoZWNrb3V0IG9mCglsaWJ2bmNzZXJ2ZXIsIG9uZSBjYW4ganVzdCByZWZlcmVuY2UgdGhhdCBkaXJlY3RvcnkgZnJvbSB0aGUKCUNNYWtlTGlzdHMudHh0IGluIG15X3Byb2plY3Qgd2l0aCA+IGFkZF9kaXJlY3RvcnkgKCBleHRlcm5hbC9saWJ2bmMgKSBhbmQgYWRkIHZuY2NsaWVudCAvIHZuY3NlcnZlciBpbiBteV9wcm9qZWN0J3MgdGFyZXRfbGlua19saWJyYXJpZXMsCglvbmUgY2FuIGp1c3QgaGFjayBhd2F5IHdpdGhvdXQgaGF2aW5nIHRvIG1hbnVhbGx5IG1ha2UgLyBpbnN0YWxsCglMaWJWTkNTZXJ2ZXIgd2hlbmV2ZXIgc29tZXRoaW5nIGlzIGNoYW5nZWQgdGhlcmUuCgoyMDE0LTA1LTE0ICBkc2NobyA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiA6IE1lcmdlIHB1bGwgcmVxdWVzdCAjNCBmcm9tIGRleHRlcm8vbWFzdGVyIHgxMXZuYzogYWRqdXN0IGJsYWNrb3V0IHJlZ2lvbiBjb29yZGluYXRlcyB0byB0aGUgY2xpcHBpbmcgcmVnaW9uCgoyMDE0LTA0LTA1ICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jOiBsaWJ2bmNjbGllbnQ6IElmIHdlIGhhdmUgVExTIHN1cHBvcnQsCgllbmFibGUgVmVOQ3J5cHQgYnkgZGVmYXVsdCBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDQtMDUgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogLmdpdGlnbm9yZTogSWdub3JlIHRoZSAnbWFjJyBleGFtcGxlLCB0b28gU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDE0LTA0LTA1ICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIC5naXRpZ25vcmU6IElnbm9yZSB0aGUgdmVuY3J5cHQgZG9jdW1lbnQgCWh0dHBzOi8vd3d3LmJlcnJhbmdlLmNvbS9+ZGFuL3ZlbmNyeXB0LnR4dCBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDQtMDUgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogLmdpdGlnbm9yZTogSWdub3JlIHJmYnByb3RvLnJzdCBBIG1vcmUgdXAtdG8tZGF0ZSB2ZXJzaW9uIG9mIHRoZSBSRkIgcHJvdG9jb2wgaXMgbWFpbnRhaW5lZCBieQoJVGlnZXJWTkM6CglodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvdGlnZXJ2bmMvY29kZS9IRUFEL3RyZWUvcmZicHJvdG8vcmZicHJvdG8ucnN0U2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDE0LTAzLTI5ICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIGV4YW1wbGVzL3JlcGVhdGVyLmM6IFJlcGVhdGVyIGV4YW1wbGU6IHNob3cgaG93IHRvIHNodXQgZG93bgoJY2xlYW5seSBTaW5jZSB3ZSBjb25uZWN0ZWQgdG8gdGhlIGNsaWVudCB0aHJvdWdoIHRoZSByZXBlYXRlciwgY2hhbmNlcyBhcmUKCXRoYXQgd2Ugd2FudCB0aGlzIHNlcnZlciBzaHV0IGRvd24gb25jZSB0aGUgY2xpZW50IGRpc2Nvbm5lY3RlZC4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxNC0wMy0yOSAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiAuZ2l0aWdub3JlLCBleGFtcGxlcy9NYWtlZmlsZS5hbSwgZXhhbXBsZXMvcmVwZWF0ZXIuYzogQWRkIGFuCglleGFtcGxlIGhvdyB0byBjb25uZWN0IHRvIGFuIFVsdHJhVk5DLXN0eWxlIHJlcGVhdGVyIFVsdHJhVk5DIG9mZmVycyBhbiBhZGQtb24gdG8gY29ubmVjdCBjbGllbnRzIGFuZCBzZXJ2ZXJzIHZpYSBJRHMKCXdpdGggYSBzby1jYWxsZWQgcmVwZWF0ZXIgKGUuZy4gdG8gYnJpZGdlIGZpcmV3YWxsZWQgY2xpZW50cyBhbmQKCXNlcnZlcnMpOiAJaHR0cDovL3d3dy51dm5jLmNvbS9wcm9kdWN0cy91dm5jLXJlcGVhdGVyLmh0bWwgVGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlcyBob3cgdG8gdXNlIHRoYXQgZmVhdHVyZSB3aXRoIGEKCUxpYlZOQ1NlcnZlci1iYXNlZCBzZXJ2ZXIuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDQtMDUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYywgd2ViY2xpZW50cy9ub3ZuYy9SRUFETUUubWQsCgl3ZWJjbGllbnRzL25vdm5jL3ZuYy5odG1sOiBVcGRhdGUgc291cmNlZm9yZ2UgbGlua3MgdG8gcG9pbnQgdG8KCWdpdGh1Yi4KCjIwMTQtMDMtMzEgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogbGlidm5jc2VydmVyL3JmYnJlZ2lvbi5jOiBGaXggdHlvcCBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDMtMzAgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogLmdpdGlnbm9yZTogSWdub3JlIG1vcmUgZ2VuZXJhdGVkIGZpbGVzIFdoaWxlIGF0IGl0LCBhbHNvIGlnbm9yZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgUkZCIHByb3RvY29sIGJlc3QKCWRvd25sb2FkZWQgbWFudWFsbHkgZnJvbSAJaHR0cDovL3d3dy5yZWFsdm5jLmNvbS9kb2NzL3JmYnByb3RvLnBkZiBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDMtMzAgIFJvYmJlcnQgS2xhcmVuYmVlayA8cm9iYmVydGtsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYzogQWRkcmVzcyAjMTIgQ2xpZW50RGF0YSBkb2VzIG5vdCBnZXQKCWZyZWVkIHJmYkNsaWVudFNldENsaWVudERhdGEoKSBhbGxvY2F0ZXMgYSBuZXcgcmZiQ2xpZW50RGF0YSwgYnV0IG5ldmVyCglnZXRzIGNsZWFuZWQgdXAsIHdoaWNoIGNhdXNlcyBtZW1vcnkgbGVha3MuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTQtMDMtMzAgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogZXhhbXBsZXMvZXhhbXBsZS5jLCB0ZXN0L2VuY29kaW5nc3Rlc3QuYzogQWZ0ZXIgZnJlZSgpaW5nCgljbGllbnREYXRhLCBzZXQgaXQgdG8gTlVMTCBXZSB3aWxsIGNoYW5nZSByZmJDbGllbnRDbGVhbnVwKCkgdG8gZnJlZSB0aGUgZGF0YS4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMy0wMi0yNyAgSm9lbCBNYXJ0aW4gPGdpdGh1YkBtYXJ0aW50cmliZS5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvd2Vic29ja2V0cy5jOiBTZXQgb3Bjb2RlIGNvcnJlY3RseSBmb3IgYmluYXJ5IGZyYW1lcy4KCjIwMTMtMDEtMjUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIHJmYi9yZmJwcm90by5oOiBSZW1vdmUgdW5uZWVkZWQgI2lmZGVmcy4KCjIwMTMtMDEtMjUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIHJmYi9yZmJjbGllbnQuaDogRml4IEFCSSBjb21wYXRpYmlsaXR5IGlzc3VlLgoKMjAxMy0wMS0wOSAgRGF2aWQgVmVyYmVpcmVuIDxkYXZpZC52ZXJiZWlyZW5AaW50ZWwuY29tPgoKCSogY2xpZW50X2V4YW1wbGVzL2d0a3ZuY3ZpZXdlci5jLCBjb25maWd1cmUuYWMsCglsaWJ2bmNjbGllbnQvTWFrZWZpbGUuYW0sIGxpYnZuY2NsaWVudC9oMjY0LmMsCglsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jLCByZmIvcmZiY2xpZW50LmgsCglyZmIvcmZicHJvdG8uaDogTGliVk5DQ2xpZW50OiBBZGQgSC4yNjQgZW5jb2RpbmcgZm9yIGZyYW1lYnVmZmVyCgl1cGRhdGVzIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBzdXBwb3J0IGluIExpYlZOQ0NsaWVudCBmb3IgZnJhbWVidWZmZXIKCXVwZGF0ZXMgZW5jb2RlZCBhcyBILjI2NCBmcmFtZXMuIEhhcmR3YXJlIGFjY2VsZXJhdGVkIGRlY29kaW5nIGlzCglwZXJmb3JtZWQgdXNpbmcgVkEgQVBJLiAgVGhpcyBpcyBleHBlcmltZW50YWwgc3VwcG9ydCB0byBsZXQgdGhlIGNvbW11bml0eSBleHBsb3JlIHRoZQoJcG9zc2liaWxpdGllcyBvZmZlcmVkIGJ5IHRoZSBwb3RlbnRpYWwgYmFuZHdpZHRoIGFuZCBsYXRlbmN5CglyZWR1Y3Rpb25zIHRoYXQgSC4yNjQgZW5jb2RpbmcgYWxsb3dzLiBUaGlzIG1heSBiZSBwYXJ0aWN1bGFybHkKCXVzZWZ1bCBmb3IgdXNlIGNhc2VzIHN1Y2ggYXMgb25saW5lIGdhbWluZywgaG9zdGVkIGRlc2t0b3BzLCBob3N0ZWQKCXNldCB0b3AgYm94ZXMuLi4gIFRoaXMgcGF0Y2ggb25seSBwcm92aWRlcyB0aGUgY2xpZW50IHNpZGUgc3VwcG9ydCBhbmQgaXMgbWVhbnQgdG8gYmUKCXVzZWQgd2l0aCBjb3JyZXNwb25kaW5nIHNlcnZlci1zaWRlIHN1cHBvcnQsIGFzIHByb3ZpZGVkIGJ5IGFuCgl1cGNvbWluZyBwYXRjaCBmb3IgcWVtdSB1aS92bmMgbW9kdWxlICh0byB2aWV3IHRoZSBkaXNwbGF5IG9mIGEKCXZpcnR1YWwgbWFjaGluZSBleGVjdXRpbmcgdW5kZXIgUUVNVSkuICBXaXRoIHRoaXMgSC4yNjQtYmFzZWQgZW5jb2RpbmcsIGlmIG11bHRpcGxlIGZyYW1lYnVmZmVyIHVwZGF0ZQoJbWVzc2FnZXMgYXJlIGdlbmVyYXRlZCBmb3IgYSBzaW5nbGUgc2VydmVyIGZyYW1lYnVmZmVyIG1vZGlmaWNhdGlvbiwKCXRoZSBILjI2NCBmcmFtZSBkYXRhIGlzIHNlbnQgb25seSB3aXRoIHRoZSBmaXJzdCB1cGRhdGUgbWVzc2FnZS4KCVN1YnNlcXVlbnQgdXBkYXRlIGZyYW1lYnVmZmVyIG1lc3NhZ2VzIHdpbGwgY29udGFpbiBvbmx5IHRoZQoJY29vcmRpbmF0ZXMgYW5kIHNpemUgb2YgdGhlIGFkZGl0aW9uYWwgdXBkYXRlZCByZWdpb25zLiAgSW5zdHJ1Y3Rpb25zL1JlcXVpcmVtZW50czogKiBUaGUgcGF0Y2ggc2hvdWxkIGJlIGFwcGxpZWQgb24gdG9wIG9mIHRoZSBwcmV2aW91cyBwYXRjaCBJCglzdWJtaXR0ZWQgd2l0aCBtaW5vciBlbmhhbmNlbWVudHMgdG8gdGhlIGd0a3ZuY3ZpZXdlciBhcHBsaWNhdGlvbjoKCWh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvbWFpbGFyY2hpdmUvbWVzc2FnZS5waHA/bXNnX2lkPTMwMzIzODA0ICogQ3VycmVudGx5IG9ubHkgd29ya3Mgd2l0aCBsaWJ2YSAxLjA6IHVzZSBicmFuY2ggInYxLjAtYnJhbmNoIiBmb3IKCWxpYnZhIGFuZCBpbnRlbC1kcml2ZXIuIFRob3NlIGNhbiBiZSBidWlsdCBhcyBmb2xsb3dzOiAgICBjZCBsaWJ2YSAgICBnaXQgY2hlY2tvdXQgdjEuMC1icmFuY2ggICAgLi9hdXRvZ2VuLnNoICAgIG1ha2UgICAgc3VkbyBtYWtlIGluc3RhbGwgICAgY2QgLi4gICAgIGdpdCBjbG9uZSBnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy92YWFwaS9pbnRlbC1kcml2ZXIgICAgY2QgaW50ZWwtZHJpdmVyICAgIGdpdCBjaGVja291dCB2MS4wLWJyYW5jaCAgICAuL2F1dG9nZW4uc2ggICAgbWFrZSAgICBzdWRvIG1ha2UgaW5zdGFsbCBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBWZXJiZWlyZW4gPGRhdmlkLnZlcmJlaXJlbkBpbnRlbC5jb20+CgoyMDEzLTAxLTA4ICBEYXZpZCBWZXJiZWlyZW4gPGRhdmlkLnZlcmJlaXJlbkBpbnRlbC5jb20+CgoJKiBjbGllbnRfZXhhbXBsZXMvZ3Rrdm5jdmlld2VyLmM6IGd0a3ZuY3ZpZXdlciBlbmhhbmNlbWVudHMgSGlkZSAiQ29ubmVjdGluZyIgZGlhbG9nIGluIGd0a3ZuY3ZpZXdlciBvbmNlIGFuIHVwZGF0ZSBpcyByZWNlaXZlZC4gIEhpZGUgbG9jYWwgY3Vzcm9yIGluIGd0a3ZuY3ZpZXdlci4KCjIwMTItMDktMTQgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIEFVVEhPUlM6IEFkZCBSYXBoYWVsIHRvIEFVVEhPUlMuCgoyMDEyLTA5LTExICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgPHJha3Vjb0BGcmVlQlNELm9yZz4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jOiBJbmNsdWRlIHN0cmluZ3MuaCBmb3Igc3RybmNhc2VjbXAoMykKCjIwMTItMDktMTEgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSA8cmFrdWNvQEZyZWVCU0Qub3JnPgoKCSogbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYzogV29yayBhcm91bmQgYSBnY2MgYnVnIHdpdGggYW5vbnltb3VzCglzdHJ1Y3RzIGFuZCB1bmlvbnMuICBHQ0MgPCA0LjYgZmFpbGVkIHRvIHBhcnNlIHRoZSBkZWNsYXJhdGlvbiBvZiB3c19oZWFkZXJfdCBjb3JyZWN0bHkKCWJlY2F1c2UgaXQgZGlkIG5vdCBhY2NlcHQgYW5vbnltb3VzIHN0cnVjdHMgYW5kIHVuaW9ucy4gWzFdIFdvcmsgYXJvdW5kIHRoZSBidWcgYnkgYWRkaW5nIG5hbWVzIHRvIHRoZSB1bmlvbnMgYW5kIHN0cnVjdHMuIFVnbHksCglidXQgd29ya3MuICBbMV0gaHR0cDovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD00Nzg0CgoyMDEyLTA5LTExICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgPHJha3Vjb0BGcmVlQlNELm9yZz4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogSW5jbHVkZSBzdGRpby5oIGZvciBzbnByaW50ZigzKQoKMjAxMi0wOS0xMSAgUmFwaGFlbCBLdWJvIGRhIENvc3RhIDxyYWt1Y29ARnJlZUJTRC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvd2Vic29ja2V0cy5jOiBBZGQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgZm9yIHJlYWQoMikKCjIwMTItMDktMTEgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSA8cmFrdWNvQEZyZWVCU0Qub3JnPgoKCSogQ01ha2VMaXN0cy50eHQsIGNvbmZpZ3VyZS5hYywgbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYywKCXJmYi9yZmJjb25maWcuaC5jbWFrZTogVXNlIGh0b2JlTk4oMykgdG8gY29udmVydCBudW1iZXJzIGluCgl3ZWJzb2NrZXQuYy4gIGJ5dGVzd2FwLmggZXhpc3RzIG9ubHkgb24gZ2xpYmMsIHNvIGJ1aWxkaW5nIGxpYnZuY3NlcnZlciB3aXRoCgl3ZWJzb2NrZXRzIHN1cHBvcnQgd2FzIG5vdCBwb3NzaWJsZSBpbiBvdGhlciBzeXN0ZW1zLiAgUmVwbGFjZSB0aGUgaW5jbHVzaW9uIG9mIGJ5dGVzd2FwLmggYW5kIHRoZSBXU18qIGRlZmluaXRpb25zIHdpdGgKCWNhbGxzIHRvIGh0b2JlTk4sIHdoaWNoIHNob3VsZCBwZXJmb3JtIHRoZSBzYW1lIGNvbnZlcnNpb25zLCBiZSBtb3JlCglwb3J0YWJsZSBhbmQgYXZvaWQgdGhlIG5lZWQgdG8gY2hlY2sgZm9yIHRoZSBwbGF0Zm9ybSdzIGVuZGlhbm5lc3MuCgoyMDEyLTA5LTExICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgPHJha3Vjb0BGcmVlQlNELm9yZz4KCgkqIENNYWtlTGlzdHMudHh0LCBjb25maWd1cmUuYWM6IERvIG5vdCBoYXJkY29kZSB0aGUgbmVlZCBmb3IKCWxpYnJlc29sdi4gIGxpYnJlc29sdiBpcyBvbmx5IHByZXNlbnQgb24gc3lzdGVtcyB3aGljaCB1c2UgZ2xpYmM7IHBsYXRmb3JtcyBzdWNoCglhcyBGcmVlQlNEIGhhdmUgX19iNjRfbnRvcCBhcyBwYXJ0IG9mIGxpYmMgaXRzZWxmLiAgSW1wcm92ZSB0aGUgZGV0ZWN0aW9uIHByb2Nlc3MgYW5kIG9ubHkgbGluayBhZ2FpbnN0IGxpYnJlc29sdiBpZiBpdAoJZXhpc3RzIG9uIHRoZSBzeXN0ZW0sIGFuZCByZW1lbWJlciB0byByZXNldCBDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMKCWFmdGVyIHBlcmZvcm1pbmcgdGhlIG5lY2Vzc2FyeSB0ZXN0cywgc2luY2Ugd2UgZG8gbm90IGFsd2F5cyB3YW50IHRvCglsaW5rIGFnYWluc3QgbGlicmVzb2x2LgoKMjAxMi0wOS0xMSAgUmFwaGFlbCBLdWJvIGRhIENvc3RhIDxyYWt1Y29ARnJlZUJTRC5vcmc+CgoJKiBjb21tb24vdm5jYXV0aC5jLCBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywKCWxpYnZuY2NsaWVudC9zb2NrZXRzLmMsIGxpYnZuY3NlcnZlci9odHRwZC5jLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jLAoJbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYzogVHVuZSB0aGUgZGVmaW5pdGlvbnMgbmVlZGVkIHdoZW4gYnVpbGRpbmcKCXdpdGggLWFuc2kuICBUaGUgY3VycmVudCBkZWZpbml0aW9ucyB3ZXJlIG1vc3RseSB1c2VmdWwgdG8gZ2xpYmMgYW5kIGZvbGxvd2VkIGl0cwoJZmVhdHVyZV90ZXN0X21hY3JvcygzKSBkb2N1bWVudGF0aW9uLiAgSG93ZXZlciwgdGhpcyBtZWFucyBvdGhlciBwbGF0Zm9ybXMgc3RpbGwgaGFkIHByb2JsZW1zIHdoZW4gYnVpbGRpbmcKCXdpdGggc3RyaWN0IGNvbXBpbGF0aW9uIGZsYWdzLiBfQlNEX1NPVVJDRSwgZm9yIGV4YW1wbGUsIGlzIG9ubHkKCXJlY29nbml6ZWQgYnkgZ2xpYmMsIGFuZCBvdGhlciBwbGF0Zm9ybXMgc29tZXRpbWVzIG5lZWQKCV9YT1BFTl9TT1VSQ0UgaW5zdGVhZCwgb3IgZXZlbiB0aGUgcmVtb3ZhbCBvZiBzb21lIGRlZmluaXRpb25zIChzdWNoCglhcyB0aGUgb3V0ZGF0ZSBfUE9TSVhfU09VUkNFIG9uZSkuICBfUE9TSVhfU09VUkNFIGFsc28gaGFkIHRvIGJlIGNvbmRpdGlvbmFsbHkgZGVmaW5lZCBpbiBzb21lIHBsYWNlcywKCWFzIHdoYXQgaXQgZW5hYmxlcyBvciBkaXNhYmxlcyBkdXJpbmcgY29tcGlsYXRpb24gdmFyaWVzIGFjcm9zcwoJc3lzdGVtcy4KCjIwMTItMDktMTEgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSA8cmFrdWNvQEZyZWVCU0Qub3JnPgoKCSogbGlidm5jc2VydmVyL3NvY2tldHMuYywgbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYzogQWRkIHNvbWUKCW1pc3NpbmcgZmVhdHVyZSBtYWNybyBkZWZpbml0aW9ucy4gIEJ1aWxkaW5nIHdpdGggLWFuc2kgZmFpbGVkIGR1ZSB0byBzb21lIGNvZGUgKGFzIHdlbGwgYXMgc3lzdGVtCgloZWFkZXJzKSB1c2luZyBub24tQzg5IGZlYXR1cmVzLiBGaXggdGhhdCBieSBhZGRpbmcgdGhlIHVzdWFsCglfUE9TSVhfU09VUkNFIGFuZCBfQlNEX1NPVVJDRSBkZWZpbml0aW9ucyBhbHJlYWR5IHByZXNlbnQgaW4gc29tZQoJb3RoZXIgZmlsZXMuCgoyMDEyLTA5LTExICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgPHJha3Vjb0BGcmVlQlNELm9yZz4KCgkqIGNvbW1vbi90dXJib2pwZWcuYywgbGlidm5jc2VydmVyL3RpZ2h0LmMsCglsaWJ2bmNzZXJ2ZXIvd2Vic29ja2V0cy5jLCByZmIvcmZiLmgsIHJmYi9yZmJjb25maWcuaC5jbWFrZSwKCXRlc3QvYm1wLmg6IFVzZSBDLXN0eWxlIGNvbW1lbnRzIGluIHJmYmNvbmZpZy5oLmNtYWtlIGFuZCBDIHNvdXJjZQoJY29kZS4gIFVzaW5nIEMrKy1zdHlsZSBjb21tZW50cyB3aGVuIGJ1aWxkaW5nIHRoZSBjb2RlIHdpdGggLWFuc2kgZG9lcyBub3QKCXdvcmssIHNvIGJlIG1vcmUgY29uc2VydmF0aXZlIHdpdGggdGhlIGNvbW1lbnQgc3R5bGUuCgoyMDEyLTA5LTExICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgPHJha3Vjb0BGcmVlQlNELm9yZz4KCgkqIGxpYnZuY3NlcnZlci93ZWJzb2NrZXRzLmM6IENvcnJlY3RseSBpbmNsdWRlIHJmYmNvbmZpZy5oLiAgYnVpbGRfZGlyL3JmYiBpcyBub3QgcGFzc2VkIGFzIGFuIGluY2x1ZGUgZGlyZWN0b3J5IGF1dG9tYXRpY2FsbHkgdG8KCXRoZSBjb21waWxlciwgc28gaW5jbHVkaW5nIHRoYXQgZmlsZSBmYWlscy4KCjIwMTItMDktMTEgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSA8cmFrdWNvQEZyZWVCU0Qub3JnPgoKCSogQ01ha2VMaXN0cy50eHQ6IENNYWtlOiBMaW5rIGFnYWluc3QgbGliZ2NyeXB0IHdoZW4gaXQgaXMgZm91bmQuICBTbyBmYXIsIGxpYmdjcnlwdCB3YXMgbG9va2VkIGZvciBidXQgbm8gdGFyZ2V0cyBsaW5rZWQgYWdhaW5zdCBpdAoJZGlyZWN0bHk7IHRoaXMgY2F1c2VkIGxpbmtpbmcgcHJvYmxlbXMgZm9yIHRoZSBjbGllbnQgYW5kIHNlcnZlcgoJZXhhbXBsZXMsIGFzIHRoZSBzeW1ib2xzIHRoZXkgbmVlZGVkIHdlcmUgbm90IHBhc3NlZCB0byB0aGUgbGlua2VyLiAgVGhlIGlzc3VlIHRoYXQgdGhlIEdudVRMUyB3ZWJzb2NrZXRzIGNvZGUgdXNlcyBsaWJnY3J5cHQgcmVnYXJkbGVzcwoJb2Ygd2hldGhlciBpdCBoYXMgYmVlbiBmb3VuZCBvciBub3QgaGFzIG5vdCBiZWVuIHRvdWNoZWQgYnkgdGhpcwoJY29tbWl0LCB0aG91Z2guCgoyMDEyLTA4LTE5ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiB3ZWJjbGllbnRzL25vdm5jL0xJQ0VOU0UudHh0LCB3ZWJjbGllbnRzL25vdm5jL1JFQURNRS5tZCwKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9iYXNlLmNzcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9ibGFjay5jc3MsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvYmx1ZS5jc3MsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvZGlzcGxheS5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9pbnB1dC5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9wbGF5YmFjay5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9yZmIuanMsIHdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS91aS5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS91dGlsLmpzLCB3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvdm5jLmpzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL3dlYi1zb2NrZXQtanMvd2ViX3NvY2tldC5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS93ZWJzb2NrLmpzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL3dlYnV0aWwuanMsIHdlYmNsaWVudHMvbm92bmMvdm5jLmh0bWwsCgl3ZWJjbGllbnRzL25vdm5jL3ZuY19hdXRvLmh0bWw6IFVwZGF0ZSBub1ZOQyB3ZWJjbGllbnQuCgoyMDEyLTA4LTE5ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBBVVRIT1JTOiBVcGRhdGUgQVVUSE9SUy4KCjIwMTItMDgtMDggIE9saXZlciBMb2NoIDxvLmxvY2hAZ214Lm5ldD4KCgkqIGxpYnZuY3NlcnZlci9zb2NrZXRzLmM6IFBhdGNoZWQgc29ja2V0cy5jIHRvIGFsbG93IHRoZSB1c2Ugb2YgSVB2NgoJd2l0aG91dCBJUHY0LiAgQXMgcmVxdWVzdGVkIG9ubHkgdGhvc2UgbGluZXMgYXJlIGluZGVudGVkIHRoYXQgaGF2ZSBiZWVuIGNoYW5nZWQuCgoyMDEyLTA3LTIwICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIEFVVEhPUlM6IEFkZCBhbm90aGVyIGNvbnRyaWJ1dG9yIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMi0wNy0xOSAgUm9zdGlzbGF2IExpc292eSA8bGlzb3Z5QGdtYWlsLmNvbT4KCgkqIGxpYnZuY2NsaWVudC90bHNfb3BlbnNzbC5jOiBGaXggaW4gbWlsbGlzZWNvbmRzIHRvIHN0cnVjdCB0aW1ldmFsCgljb252ZXJzaW9uIFNpZ25lZC1vZmYtYnk6IFJvc3Rpc2xhdiBMaXNvdnkgPGxpc292eUBnbWFpbC5jb20+IFNpZ25lZC1vZmYtYnk6CglKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTItMDUtMzEgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY3NlcnZlci9jb25maWcuaCwgbGlidm5jc2VydmVyL3JmYmNvbmZpZy5oOiBSZW1vdmUKCWF1dG9nZW5lcmF0ZWQgZmlsZXMgZnJvbSByZXBvLgoKMjAxMi0wNS0yMyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogQ01ha2VMaXN0cy50eHQsIGNvbmZpZ3VyZS5hYywgcmZiL3JmYmNvbmZpZy5oLmNtYWtlOiBBZGQgQ29tcGlsZQoJVGltZSBWZXJzaW9uIFRlc3QgRGVmaW5lcy4KCjIwMTItMDUtMTggIEt5bGUgSi4gTWNLYXkgPG1hY2t5bGVAZ21haWwuY29tPgoKCSogbGlidm5jc2VydmVyL3NvY2tldHMuYzogbGlidm5jc2VydmVyL3NvY2tldHMuYzogZG8gbm90IHNlZ2ZhdWx0Cgl3aGVuIGxpc3RlblNvY2svbGlzdGVuNlNvY2sgPT0gLTEKCjIwMTItMDUtMDkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIFRPRE8sIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvc29ja2V0cy5jLAoJdm5jdGVybS9MaW51eFZOQy5jOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncyB0aGF0IGhpbnRlZCBzb21lIG5vCgl0b28gdW5pbXBvcnRhbnQgZXJyb3JzLgoKMjAxMi0wNS0wNyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogVE9ETzogVXBkYXRlIFRPRE8uCgoyMDEyLTA1LTA3ICBMdWNhIEZhbGF2aWduYSA8ZGt0cmtyYW56QGRlYmlhbi5vcmc+CgoJKiB0ZXN0L2VuY29kaW5nc3Rlc3QuYzogRW5jb2RpbmdzdGVzdDogVXNlIGZvcm1hdCBzdHJpbmcgYXJndW1lbnQKCXdpdGggZnByaW50Zi4KCjIwMTItMDUtMDUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIENNYWtlTGlzdHMudHh0LCBjb25maWd1cmUuYWM6IEJ1bXAgdmVyc2lvbiB0byAwLjkuMTAuCgoyMDEyLTA1LTA0ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBDaGFuZ2VMb2c6IFVwZGF0ZSBDaGFuZ2VMb2cgZm9yIDAuOS45LgoKMjAxMi0wNS0wNCAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogY29uZmlndXJlLmFjOiBFbmFibGUgYnVpbGRpbmcgRExMcyB3aXRoIE1pbkdXMzIuCgoyMDEyLTA1LTA0ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBORVdTOiBVcGRhdGUgTkVXUyBmb3IgMC45LjkuCgoyMDEyLTA1LTAzICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYzogTGliVk5DQ2xpZW50OiAjdW5kZWYgdGhlc2UgdHlwZXMgaW4gY2FzZQoJaXQncyBXSU4zMi4gIFRoZSB2YXJpb3VzIG90aGVyIGhlYWRlcnMgaW5jbHVkZSB3aW5kb3dzLmggYW5kIHRoZSB3aW5zb2NrIGhlYWRlcnMKCXdoaWNoIGdpdmUgYW4gZXJyb3Igd2hlbiBTT0NLRVQgYW5kIHNvY2tsZW5fdCBhcmUgYWxyZWFkeSBkZWZpbmVkLgoKMjAxMi0wNS0wMyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogcmZiL3JmYi5oOiBMaWJWTkNTZXJ2ZXI6IEluY2x1ZGUgd3MydGNwaXAuaCBpZiBpdCdzIGF2YWlsYWJsZS4gIE5lZWRlZCBmb3IgdGhlIElQdjYgc3R1ZmYuCgoyMDEyLTA0LTMwICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW06IExpYlZOQ1NlcnZlcjogUHJlZmVyIEdudVRMUyBvdmVyIE9wZW5TU0wKCXRvIGJlIGluIHN5bmMgd2l0aCBMaWJWTkNDbGllbnQuCgoyMDEyLTA0LTMwICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmM6IFNvbWUgbW9yZSBsaWJqcGVnLCBsaWJwbmcgYW5kIHpsaWIKCXJlbGF0ZWQgYnVpbGQgZml4ZXMuCgoyMDEyLTA0LTMwICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBjb25maWd1cmUuYWM6IE1ha2UgUEtHX0NIRUNLX01PRFVMRVMgZmFpbCBub24tZmF0YWwuICBUaGVzZSBjaGVjayBmb3Igb3B0aW9uYWwgbW9kdWxlcy4KCjIwMTItMDQtMzAgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgcmZiL3JmYi5oOiBPbmx5IHRyeSB0byBidWlsZCBUaWdodFBORwoJc3R1ZmYgd2hlbiBsaWJqcGVnIGlzIGF2YWlsYWJsZS4gIFRpZ2h0UE5HIHJlcGxhY2VzIHRoZSBaTElCIHN0dWZmIGludCBUaWdodCBlbmNvZGluZyB3aXRoIFBORy4gSXQKCXN0aWxsIHVzZXMgSlBFRyByZWN0cyBhcyB3ZWxsLiBUaGVvcmV0aWNhbGx5LCB3ZSBjb3VsZCBidWlsZAoJVGlnaHRQTkcgd2l0aCBvbmx5IGxpYnBuZyBhbmQgbGlianBlZyAtIHdpdGhvdXQgemxpYiAtIGJ1dCBsaWJwbmcKCWRlcGVuZHMgb24gemxpYiwgc28gdGhpcyBpcyBraW5kYSBtb290LgoKMjAxMi0wNC0yNyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogdGVzdC9NYWtlZmlsZS5hbTogT25seSBidWlsZCBsaWJqcGVnIHRlc3QgcHJvZ3JhbXMgaWYgbGlianBlZyBpcwoJYWN0dWFsbHkgYXZhaWxhYmxlLgoKMjAxMi0wNC0yNiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogQ01ha2VMaXN0cy50eHQ6IEZpeCBDTWFrZSBidWlsZCBvZiBMaWJWTkNDbGllbnQuCgoyMDEyLTA0LTI2ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmM6IFByb3Blcmx5IGNoZWNrIHJldHVybiB2YWx1ZS4gIFRoaXMgYWxzbyBmaXhlcyBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDEyLTA0LTI2ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBjb25maWd1cmUuYWM6IEZpeCBidWlsZCB3aGVuIG5vIGxpYmpwZWcgaXMgYXZhaWxhYmxlLgoKMjAxMi0wNC0yNiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogZXhhbXBsZXMvYW5kcm9pZC9NYWtlZmlsZS5hbSwgbGlidm5jc2VydmVyL01ha2VmaWxlLmFtOiBJbmNsdWRlCglzb21lIG1vcmUgbWlzc2luZyBmaWxlcyBmb3IgbWFrZSBkaXN0LgoKMjAxMi0wNC0yNSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jc2VydmVyL01ha2VmaWxlLmFtOiBJbmNsdWRlIG1pc3NpbmcgZmlsZXMgZm9yIG1ha2UgZGlzdC4KCjIwMTItMDQtMjUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY2NsaWVudC9NYWtlZmlsZS5hbTogRml4IGxpYnZuY2NsaWVudCBtYWtlIGRpc3QuCgoyMDEyLTA0LTI1ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBjb25maWd1cmUuYWM6IEJldHRlciBjaGVjayBmb3IgTGludXggYnVpbGQuCgoyMDEyLTA0LTI1ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiB2bmN0ZXJtL01ha2VmaWxlLmFtOiBCaW5hcmllcyB0aGF0IGFyZSB0byBiZSBpbnN0YWxsZWQgc2hvdWxkIGJlCglhbGwgbG93ZXJjYXNlLgoKMjAxMi0wNC0yNSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogQ01ha2VMaXN0cy50eHQsIGNvbmZpZ3VyZS5hYzogQnVtcCB2ZXJzaW9uIHRvIDAuOS45LgoKMjAxMi0wNC0yNSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogY29tbW9uL3R1cmJvanBlZy5jLCBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsCglsaWJ2bmNzZXJ2ZXIvd2Vic29ja2V0cy5jLCB0ZXN0L3RqYmVuY2guYzogRml4IHNvbWUgY29tcGlsZXIKCXdhcm5pbmdzIHRocm93biB3aXRoIG5ld2VyIGdjYy4KCjIwMTItMDQtMjUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIHRlc3QvTWFrZWZpbGUuYW06IEZpeCB0dXJib2pwZWcgdGVzdHMgY29tcGlsYXRpb24uCgoyMDEyLTA0LTI1ICBEUkMgPGluZm9ybWF0aW9uQHZpcnR1YWxnbC5vcmc+CgoJKiBjb21tb24vdHVyYm9qcGVnLmM6IEZpeCBjb21waWxhdGlvbiB3aXRoIHNvbWUgbGlianBlZwoJZGlzdHJpYnV0aW9ucy4KCjIwMTItMDQtMjIgIE1vbmtleSA8Y2hyaXMuYm95bGUuMTk3OEBnbWFpbC5jb20+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYzogQWRkZWQgc3VwcG9ydCBmb3IgVWx0cmFWTkMgU2luZ2xlIENsaWNrCglhcyBvcmlnaW5hbGx5IHByb3Bvc2VkIGJ5IE5vb2JpdXMgKEJvb2JpdXMpIG9uIDYvMS8xMS4gIE9yaWdpbmFsIHRocmVhZDoKCglodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2Z1bmM9ZGV0YWlsJmFpZD0zMzEwMjU1Jmdyb3VwX2lkPTMyNTg0JmF0aWQ9NDA1ODYwCgoyMDEyLTA0LTE1ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBBVVRIT1JTOiBBZGQgUGhpbGlwIHRvIEFVVEhPUlMuCgoyMDEyLTA0LTE1ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvdGxzX25vbmUuYzogTGliVk5DQ2xpZW50OiBGaXggYnVpbGQgd2l0aCBubyBTU0wvVExTCglsaWJyYXJ5IGF2YWlsYWJsZS4KCjIwMTItMDQtMTUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY2NsaWVudC90bHNfb3BlbnNzbC5jOiBMaWJWTkNDbGllbnQ6IHByb3Blcmx5IGZyZWUgdGhlCglvcGVuc3NsIHNlc3Npb24gc3R1ZmYgb24gc2h1dGRvd24uCgoyMDEyLTA0LTE1ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3NvY2tldHMuYywKCWxpYnZuY2NsaWVudC90bHNfZ251dGxzLmMsIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywKCXJmYi9yZmJjbGllbnQuaDogTGliVk5DQ2xpZW50OiBSZW1vdmUgYWxsIHRob3NlIFdJVEhfQ0xJRU5UX1RMUwoJI2lmZGVmcyBhbmQgbW92ZSBHbnVUTFMgc3BlY2lmaWMgZnVuY3Rpb25hbGl0eSBpbnRvIHRsc19nbnV0bHMuYy4KCjIwMTItMDQtMTQgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzogVW5pZnkgR251VExTIHZzIE9wZW5TU0wgYnVpbGQgc3lzdGVtcyBzdHVmZiBiZXR3ZWVuCglsaWJ2bmNjbGllbnQgYW5kIGxpYnZuY3NlcnZlci4KCjIwMTItMDQtMTQgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY2NsaWVudC9NYWtlZmlsZS5hbSwgbGlidm5jY2xpZW50L3Rscy5jLAoJbGlidm5jY2xpZW50L3Rsc19nbnV0bHMuYywgbGlidm5jY2xpZW50L3Rsc19ub25lLmMsCglsaWJ2bmNjbGllbnQvdGxzX29wZW5zc2wuYzogQWRkIHRoZSBPcGVuU1NMIGxpYnZuY2NsaWVudCBUTFMgdmVyc2lvbgoJdG8gdGhlIGJ1aWxkIHN5c3RlbS4KCjIwMTItMDQtMTIgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIHdlYmNsaWVudHMvbm92bmMvTElDRU5TRS50eHQsIHdlYmNsaWVudHMvbm92bmMvUkVBRE1FLm1kLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL2Jhc2UuY3NzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL2Jhc2U2NC5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9kaXNwbGF5LmpzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL2lucHV0LmpzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL2pzdW56aXAuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvcmZiLmpzLCB3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvdWkuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvdXRpbC5qcywgd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL3ZuYy5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS93ZWJzb2NrLmpzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL3dlYnV0aWwuanMsIHdlYmNsaWVudHMvbm92bmMvdm5jLmh0bWwsCgl3ZWJjbGllbnRzL25vdm5jL3ZuY19hdXRvLmh0bWw6IFVwZGF0ZSBvdXIgY29weSBvZiBub1ZOQy4gIEJ1Z2ZpeGVzIGFuZCBzdXBwb3J0IGZvciB0aWdodCBlbmNvZGluZyB3aXRoIHpsaWIuCgoyMDEyLTA0LTEyICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvdGlnaHQuYzogTWFrZSBUdXJib1ZOQyBjb21wcmVzcyBsZXZlbCAzIGFjdHVhbGx5Cgl3b3JrLgoKMjAxMi0wNC0wOSAgRFJDIDxpbmZvcm1hdGlvbkB2aXJ0dWFsZ2wub3JnPgoKCSogY29tbW9uL3R1cmJvanBlZy5jOiBGaXggbWVtb3J5IGxlYWsgaW4gVHVyYm9WTkMgTm90ZSB0aGF0IHRoZSBtZW1vcnkgbGVhayB3YXMgb25seSBvY2N1cnJpbmcgd2l0aCB0aGUgY29sb3JzcGFjZQoJZW11bGF0aW9uIGNvZGUsIHdoaWNoIGlzIG9ubHkgYWN0aXZlIHdoZW4gdXNpbmcgcmVndWxhciBsaWJqcGVnIChub3QKCWxpYmpwZWctdHVyYm8uKSBEaWFnbm9zZWQgYnkgQ2hyaXN0aWFuIEJlaWVyLCB1c2luZyB2YWxncmluZC4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMi0wNC0wMiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jY2xpZW50L2xpc3Rlbi5jLCBsaWJ2bmNjbGllbnQvc29ja2V0cy5jLAoJbGlidm5jc2VydmVyL2h0dHBkLmMsIGxpYnZuY3NlcnZlci9zb2NrZXRzLmM6IElQdjYgc3VwcG9ydCBmb3IKCUxpYlZOQ1NlcnZlciwgcGFydCBmb3VyOiBhZGQgY29weXJpZ2h0IG5vdGljZXMgdG8gZmlsZXMgd2l0aAoJbm9uLXRyaXZpYWwgY2hhbmdlcy4KCjIwMTItMDMtMjkgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBTREx2bmN2aWV3ZXI6IG1hcCBBcHBsZS9XaW5kb3dzCglrZXlzIGNvcnJlY3RseSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTItMDMtMjkgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogLmdpdGlnbm9yZTogZ2l0aWdub3JlIHRoZSBjb21waWxlZCBndGt2bmNjbGllbnQgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDEyLTAzLTI5ICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIGNsaWVudF9leGFtcGxlcy9TREx2bmN2aWV3ZXIuYzogU0RMdm5jdmlld2VyOiBmaXggdGhlIFNETF9LRVlVUAoJaXNzdWUgS2V5cyBnb3Qgc3R1Y2sgYmVjYXVzZSB1bmljb2RlIGlzIDAgdXBvbiBTRExfS0VZVVAgZXZlbnRzLCBldmVuIGlmCgl0aGUgc2FtZSBrZXkgZXZlbnQgc2V0cyB1bmljb2RlIGNvcnJlY3RseSBpbiBTRExfS0VZRE9XTiBldmVudHMuICBXb3JrIGFyb3VuZCB0aGF0IGZvciB0aGUgY29tbW9uIGNhc2UgKEFTQ0lJKSB1c2luZyB0aGUgZmFjdCB0aGF0Cglib3RoIFNETCBhbmQgWDExIGtleXN5bXMgd2VyZSBjcmVhdGVkIHdpdGggQVNDSUkgY29tcGF0aWJpbGl0eSBpbgoJbWluZC4gU28gYXMgbG9uZyBhcyB3ZSB0eXBlIEFTQ0lJIHN5bWJvbHMsIHdlIGNhbiBtYXAgdGhpbmdzCgl0cml2aWFsbHkuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTItMDMtMjMgIERSQyA8aW5mb3JtYXRpb25AdmlydHVhbGdsLm9yZz4KCgkqIENNYWtlTGlzdHMudHh0OiBFeHRlbmQgc3VwcG9ydCBmb3IgdGhlIG5ldyBUdXJib1ZOQyBlbmNvZGVyIHRvIHRoZQoJQ01ha2UgYnVpbGQgc3lzdGVtCgoyMDEyLTAzLTI1ICBEUkMgPGluZm9ybWF0aW9uQHZpcnR1YWxnbC5vcmc+CgoJKiBjb21tb24vdHVyYm9qcGVnLmMsIGNvbW1vbi90dXJib2pwZWcuaCwgY29uZmlndXJlLmFjLAoJbGlidm5jc2VydmVyL01ha2VmaWxlLmFtLCBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHQuYywgbGlidm5jc2VydmVyL3R1cmJvLmMsIHJmYi9yZmIuaCwKCXJmYi9yZmJwcm90by5oLCB0ZXN0L01ha2VmaWxlLmFtLCB0ZXN0L2JtcC5jLCB0ZXN0L2JtcC5oLAoJdGVzdC90amJlbmNoLmMsIHRlc3QvdGp1bml0dGVzdC5jLCB0ZXN0L3RqdXRpbC5jLCB0ZXN0L3RqdXRpbC5oOiAKCVJlcGxhY2UgVGlnaHRWTkMgZW5jb2RlciB3aXRoIFR1cmJvVk5DIGVuY29kZXIuIFRoaXMgcGF0Y2ggaXMgdGhlCglyZXN1bHQgb2YgZnVydGhlciByZXNlYXJjaCBhbmQgZGlzY3Vzc2lvbiB0aGF0IHJldmVhbGVkIHRoZQoJZm9sbG93aW5nOiAtLSBUaWdodFBuZyBlbmNvZGluZyBhbmQgdGhlIHJmYlRpZ2h0Tm9abGliIGV4dGVuc2lvbiBuZWVkIG5vdAoJICAgY29uZmxpY3QuICBTaW5jZSBUaWdodFBuZyBpcyBhIHNlcGFyYXRlIGVuY29kaW5nIHR5cGUsIG5vdCBzdXBwb3J0ZWQKCSAgIGJ5IFR1cmJvVk5DLWNvbXBhdGlibGUgdmlld2VycywgdGhlbiB0aGUgcmZiVGlnaHROb1psaWIgZXh0ZW5zaW9uCgkgICBjYW4gYmUgdXNlZCBzb2xlbHkgd2hlbmV2ZXIgdGhlIGVuY29kaW5nIHR5cGUgaXMgVGlnaHQgYW5kIGRpc2FibGVkCgl3aXRoIHRoZSBlbmNvZGluZyB0eXBlIGlzIFRpZ2h0UG5nLiAgLS0gSW4gdGhlIFRpZ2h0Vk5DIGVuY29kZXIsIGNvbXByZXNzaW9uIGxldmVscyBhYm92ZSA1IGFyZSBiYXNpY2FsbHkKCSAgIHVzZWxlc3MuICBPbiB0aGUgc2V0IG9mIDIwIGxvdy1sZXZlbCBkYXRhc2V0cyB0aGF0IHdlcmUgdXNlZCB0bwoJICAgZGVzaWduIHRoZSBUdXJib1ZOQyBlbmNvZGVyICh0aGVzZSBpbmNsdWRlIHRoZSBlaWdodCAyRCBhcHBsaWNhdGlvbgoJICAgY2FwdHVyZXMgdGhhdCB3ZXJlIGFsc28gdXNlZCB3aGVuIGRlc2lnbmluZyB0aGUgVGlnaHRWTkMgZW5jb2RlciwgYXMKCSAgIHdlbGwgYXMgMTIgM0QgYXBwbGljYXRpb24gY2FwdHVyZXMgcHJvdmlkZWQgYnkgdGhlIFZpcnR1YWxHTAoJICAgUHJvamVjdC0tIHNlZQoJICAgaHR0cDovL3d3dy52aXJ0dWFsZ2wub3JnL3Btd2lraS91cGxvYWRzL0Fib3V0L3RpZ2h0dG90dXJiby5wZGYpLAoJICAgbW92aW5nIGZyb20gQ29tcHJlc3Npb24gTGV2ZWwgKENMKSA1IHRvIENMIDkgaW4gdGhlIFRpZ2h0Vk5DCgkgICBlbmNvZGVyIGRpZCBub3QgaW5jcmVhc2UgdGhlIGNvbXByZXNzaW9uIHJhdGlvIG9mIGFueSBkYXRhc2V0cyBtb3JlCgkgICB0aGFuIDEwJSwgYW5kIHRoZSBjb21wcmVzc2lvbiByYXRpbyBvbmx5IGluY3JlYXNlZCBieSBtb3JlIHRoYW4gNSUKCSAgIG9uIGZvdXIgb2YgdGhlbS4gIFRoZSBjb21wcmVzc2lvbiByYXRpbyBhY3R1YWxseSBkZWNyZWFzZWQgYSBmZXcKCSAgIHBlcmNlbnQgb24gZml2ZSBvZiB0aGVtLiAgSW4gZXhjaGFuZ2UgZm9yIHRoaXMgcGFsdHJ5IGluY3JlYXNlIGluCgkgICBjb21wcmVzc2lvbiByYXRpbywgdGhlIENQVSB1c2FnZSwgb24gYXZlcmFnZSwgd2VudCB1cCBieSBhIGZhY3RvciBvZgoJICAgNS4gIFRodXMsIGZvciBhbGwgaW50ZW50cyBhbmQgcHVycG9zZXMsIFRpZ2h0Vk5DIENMIDUgcHJvdmlkZXMgdGhlCgkiYmVzdCB1c2VmdWwgY29tcHJlc3Npb24iIGZvciB0aGF0IGVuY29kZXIuICAtLSBUdXJib1ZOQydzIGJlc3QgY29tcHJlc3Npb24gbGV2ZWwgKENMIDIpIGNvbXByZXNzZXMgM0QgYW5kIHZpZGVvCgkgICB3b3JrbG9hZHMgc2lnbmlmaWNhbnRseSBtb3JlICJ0aWdodGx5IiB0aGFuIFRpZ2h0Vk5DIENMIDUgKH43MCUKCSAgIGJldHRlciwgaW4gdGhlIGFnZ3JlZ2F0ZSkgYnV0IGRvZXMgbm90IHF1aXRlIGFjaGlldmUgdGhlIHNhbWUgbGV2ZWwKCSAgIG9mIGNvbXByZXNzaW9uIHdpdGggMkQgd29ya2xvYWRzICh+MjAlIHdvcnNlLCBpbiB0aGUgYWdncmVnYXRlLikKCSAgIFRoaXMgZGVjcmVhc2UgaW4gY29tcHJlc3Npb24gcmF0aW8gbWF5IG9yIG1heSBub3QgYmUgbm90aWNlYWJsZSwKCSAgIHNpbmNlIG1hbnkgb2YgdGhlIGRhdGFzZXRzIGl0IGFmZmVjdHMgYXJlIG5vdCBwZXJmb3JtYW5jZS1jcml0aWNhbAoJICAgKHN1Y2ggYXMgdGhlIGNvbnNvbGUgb3V0cHV0IG9mIGEgY29tcGlsYXRpb24sIGV0Yy4pIEhvd2V2ZXIsIGZvcgoJICAgcGVhY2Ugb2YgbWluZCwgaXQgd2FzIHN0aWxsIGRlc2lyYWJsZSB0byBoYXZlIGEgbW9kZSB0aGF0IGNvbXByZXNzZWQKCSAgIHdpdGggZXF1YWwgInRpZ2h0bmVzcyIgdG8gVGlnaHRWTkMgQ0wgNSwgc2luY2Ugd2UgcHJvcG9zZWQgdG8KCXJlcGxhY2UgdGhhdCBlbmNvZGVyIGVudGlyZWx5LiAgLS0gQSBuZXcgbW9kZSB3YXMgZGlzY292ZXJlZCBpbiB0aGUgVHVyYm9WTkMgZW5jb2RlciB0aGF0IHByb2R1Y2VzLAoJICAgaW4gdGhlIGFnZ3JlZ2F0ZSwgc2ltaWxhciBjb21wcmVzc2lvbiByYXRpb3Mgb24gMkQgZGF0YXNldHMgYXMKCSAgIFRpZ2h0Vk5DIENMIDUuICBUaGF0IG5ldyBtb2RlIGludm9sdmVzIHVzaW5nIFpsaWIgbGV2ZWwgNyAodGhlIHNhbWUKCSAgIGxldmVsIHVzZWQgYnkgVGlnaHRWTkMgQ0wgNSkgYnV0IHNldHRpbmcgdGhlICJwYWxldHRlIHRocmVzaG9sZCIgdG8KCSAgIDI1Niwgc28gdGhhdCBpbmRleGVkIGNvbG9yIGVuY29kaW5nIGlzIHVzZWQgd2hlbmV2ZXIgcG9zc2libGUuICBUaGlzCgkgICBtb2RlIHJlZHVjZXMgYmFuZHdpZHRoIG9ubHkgbWFyZ2luYWxseSAodHlwaWNhbGx5IDEwLTIwJSkgcmVsYXRpdmUKCSAgIHRvIFR1cmJvVk5DIENMIDIgb24gbG93LWNvbG9yIHdvcmtsb2FkcywgaW4gZXhjaGFuZ2UgZm9yIG5lYXJseQoJICAgZG91YmxpbmcgQ1BVIHVzYWdlLCBhbmQgaXQgZG9lcyBub3QgYmVuZWZpdCBoaWdoLWNvbG9yIHdvcmtsb2FkcyBhdAoJICAgYWxsIChzaW5jZSB0aG9zZSBhcmUgdXN1YWxseSBlbmNvZGVkIHdpdGggSlBFRy4pICBIb3dldmVyLCBpdAoJcHJvdmlkZXMgYSBtZWFucyBvZiByZXByb2R1Y2luZyB0aGUgc2FtZSAidGlnaHRuZXNzIiBhcyB0aGUgVGlnaHRWTkMgICAgZW5jb2RlciBvbiAyRCB3b3JrbG9hZHMgd2l0aG91dCBzYWNyaWZpY2luZyBhbnkgY29tcHJlc3Npb24gZm9yCgkgICAzRC92aWRlbyB3b3JrbG9hZHMsIGFuZCB3aXRob3V0IHVzaW5nIGFueSBtb3JlIENQVSB0aW1lIHRoYW4KCW5lY2Vzc2FyeS4gIC0tIFRoZSBUdXJib1ZOQyBlbmNvZGVyIHN0aWxsIHBlcmZvcm1zIGFzIHdlbGwgb3IgYmV0dGVyIHRoYW4gdGhlCgkgICBUaWdodFZOQyBlbmNvZGVyIHdoZW4gcGxhaW4gbGlianBlZyBpcyB1c2VkIGluc3RlYWQgb2YKCWxpYmpwZWctdHVyYm8uICBTcGVjaWZpYyBub3RlcyBmb2xsb3c6IGNvbW1vbi90dXJib2pwZWcuYyBjb21tb24vdHVyYm9qcGVnLmg6IEFkZGVkIGNvZGUgdG8gZW11bGF0ZSB0aGUKCWxpYmpwZWctdHVyYm8gY29sb3JzcGFjZSBleHRlbnNpb25zLCBzbyB0aGF0IHRoZSBUdXJib0pQRUcgd3JhcHBlcgoJY2FuIGJlIHVzZWQgd2l0aCBwbGFpbiBsaWJqcGVnIGFzIHdlbGwuICBUaGlzIHJlcXVpcmVkIHVwZGF0aW5nIHRoZQoJVHVyYm9KUEVHIHdyYXBwZXIgdG8gdGhlIGxhdGVzdCBjb2RlIGZyb20gbGlianBlZy10dXJibyAxLjIuMCwKCW1haW5seSBiZWNhdXNlIHRoZSBUdXJib0pQRUcgMS4yIEFQSSBoYW5kbGVzIHBpeGVsIGZvcm1hdHMgaW4gYSBtdWNoCgljbGVhbmVyIHdheSwgd2hpY2ggbWFkZSB0aGUgY29udmVyc2lvbiBjb2RlIGVhc2llciB0byB3cml0ZS4gIEl0CglhbHNvIGVhc2VzIHRoZSBtYWludGVuYW5jZSB0byBoYXZlIHRoZSB3cmFwcGVyIHN5bmNlZCBhcyBtdWNoIGFzCglwb3NzaWJsZSB3aXRoIHRoZSB1cHN0cmVhbSBjb2RlIGJhc2UgKHNvIEkgY2FuIG1lcmdlIGFueSByZWxldmFudAoJYnVnIGZpeGVzIHRoYXQgYXJlIGRpc2NvdmVyZWQgdXBzdHJlYW0uKSBUaGUgbGlidm5jc2VydmVyIHZlcnNpb24gb2YKCXRoZSBUdXJib0pQRUcgd3JhcHBlciBpcyBhICJsaXRlIiB2ZXJzaW9uLCBjb250YWluaW5nIG9ubHkgdGhlIEpQRUcKCWNvbXByZXNzaW9uL2RlY29tcHJlc3Npb24gY29kZSBhbmQgbm90IHRoZSBsb3NzbGVzcyB0cmFuc2Zvcm0sIFlVVgoJZW5jb2RpbmcvZGVjb2RpbmcsIGFuZCBkeW5hbWljIGJ1ZmZlciBhbGxvY2F0aW9uIGZlYXR1cmVzIGZyb20KCVR1cmJvSlBFRyAxLjIuICBjb25maWd1cmUuYWM6IFJlbW92ZWQgdGhlIC0td2l0aC10dXJib3ZuYyBvcHRpb24uICBjb25maWd1cmUgc3RpbGwKCWNoZWNrcyBmb3IgdGhlIHByZXNlbmNlIG9mIGxpYmpwZWctdHVyYm8sIGJ1dCBvbmx5IGZvciB0aGUgcHVycG9zZXMKCW9mIHByaW50aW5nIGEgcGVyZm9ybWFuY2Ugd2FybmluZyBpZiBpdCBpc24ndCBhdmFpbGFibGUuICByZmIvcmZiLmg6IEZpeCBhIGJ1ZyBpbnRyb2R1Y2VkIHdpdGggdGhlIGluaXRpYWwgVHVyYm9WTkMgZW5jb2RlcgoJcGF0Y2guICBXZSBjYW5ub3QgdXNlIHRpZ2h0UXVhbGl0eUxldmVsIGZvciB0aGUgVHVyYm9WTkMgMS0xMDAKCXF1YWxpdHkgbGV2ZWwsIGJlY2F1c2UgdGlnaHRRdWFsaXR5TGV2ZWwgaXMgYWxzbyB1c2VkIGJ5IFpSTEUuCglUaHVzLCBhIG5ldyBwYXJhbWV0ZXIgKHR1cmJvUXVhbGl0eUxldmVsKSB3YXMgY3JlYXRlZC4gIHJmYi9yZmJwcm90by5oOiBSZW1vdmUgVHVyYm9WTkMtc3BlY2lmaWMgI2lmZGVmcyBhbmQgbGFuZ3VhZ2UgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBSZW1vdmUgVHVyYm9WTkMtc3BlY2lmaWMgI2lmZGVmcy4gIEZpeAoJYWZvcmUtbWVudGlvbmVkIHRpZ2h0UXVhbGl0eUxldmVsIGJ1Zy4gIGxpYnZuY3NlcnZlci90aWdodC5jOiBSZXBsYWNlZCB0aGUgVGlnaHRWTkMgZW5jb2RlciB3aXRoIHRoZQoJVHVyYm9WTkMgZW5jb2Rlci4gIFJlbGF0aXZlIHRvIHRoZSBpbml0aWFsIFR1cmJvVk5DIGVuY29kZXIgcGF0Y2gsCgl0aGlzIHBhdGNoIGFsc286IC0tIEFkZHMgVGlnaHRQbmcgc3VwcG9ydCB0byB0aGUgVHVyYm9WTkMgZW5jb2RlciAtLQoJICAgQWRkcyB0aGUgYWZvcmUtbWVudGlvbmVkIGxvdy1iYW5kd2lkdGggbW9kZSwgd2hpY2ggaXMgbWFwcGVkCgkgICBleHRlcm5hbGx5IHRvIENvbXByZXNzaW9uIExldmVsIDkgdGVzdC8qOiBJbmNsdWRlZCBUSlVuaXRUZXN0IChhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgdGhlIFR1cmJvSlBFRwoJd3JhcHBlcikgYXMgd2VsbCBhcyBUSkJlbmNoIChhIGJlbmNobWFyayBmb3Igc2FtZS4pICBUaGVzZSBhcmUKCXVzZWZ1bCBmb3IgZW5zdXJpbmcgdGhhdCB0aGUgd3JhcHBlciBzdGlsbCBmdW5jdGlvbnMgY29ycmVjdGx5IGFuZAoJcGVyZm9ybWFudGx5IGlmIGl0IG5lZWRzIHRvIGJlIG1vZGlmaWVkIGZvciB3aGF0ZXZlciByZWFzb24uICBCb3RoCglvZiB0aGVzZSBwcm9ncmFtcyBhcmUgZGVyaXZlZCBmcm9tIGxpYmpwZWctdHVyYm8gMS4yLjAuICBBcyB3aXRoIHRoZQoJVHVyYm9KUEVHIHdyYXBwZXIsIHRoZXkgZG8gbm90IGNvbnRhaW4gdGhlIG1vcmUgYWR2YW5jZWQgZmVhdHVyZXMgb2YKCVR1cmJvSlBFRyAxLjIsIHN1Y2ggYXMgWVVWIGVuY29kaW5nL2RlY29kaW5nIGFuZCBsb3NzbGVzcwoJdHJhbnNmb3Jtcy4KCjIwMTItMDMtMTUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIEFVVEhPUlM6IEFkZCBEUkMgdG8gQVVUSE9SUy4KCjIwMTItMDMtMTUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIHJmYi9yZmIuaDogTW92ZSB0aWdodHN1YnNhbXBsZXZlbCBtZW1iZXIgdG8gdGhlIGVuZCBvZiByZmJDbGllbnQKCXN0cnVjdC4gIFRyeSB0byBub3QgYnJlYWsgQUJJIGJldHdlZW4gcmVsZWFzZXMuIEV2ZW4gaWYgdGhlIGNvZGUgZ2V0cyB1Z2x5Li4uCgoyMDEyLTAzLTEwICBEUkMgPGluZm9ybWF0aW9uQHZpcnR1YWxnbC5vcmc+CgoJKiB4MTF2bmMvTWFrZWZpbGUuYW06IEZpeCB0aGUgYnVpbGQgb2YgeDExdm5jIHdoZW4gYW4gb3V0LW9mLXRyZWUKCWJ1aWxkIGRpcmVjdG9yeSBpcyB1c2VkCgoyMDEyLTAzLTEwICBEUkMgPGluZm9ybWF0aW9uQHZpcnR1YWxnbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmM6IEZpeCBhbiBpc3N1ZSB0aGF0IGFmZmVjdHMgdGhlIGV4aXN0aW5nCglUaWdodCBlbmNvZGVyIGFzIHdlbGwgYXMgdGhlIG5ld2x5LWltcGxlbWVudGVkIFR1cmJvIGVuY29kZXIuICBUaGUgaXNzdWUgaXMgdGhhdCwgd2hlbiB1c2luZyB0aGUgY3VycmVudCBsaWJ2bmNzZXJ2ZXIgc291cmNlLCBpdCBpcwoJaW1wb3NzaWJsZSB0byBkaXNhYmxlIFRpZ2h0IEpQRUcgZW5jb2RpbmcuICBUaGUgd2F5IFRpZ2h0L1R1cmJvCgl2aWV3ZXJzIGRpc2FibGUgSlBFRyBlbmNvZGluZyBpcyBieSBzaW1wbHkgbm90IHNlbmRpbmcgdGhlIFRpZ2h0CglxdWFsaXR5IHZhbHVlLCBjYXVzaW5nIHRoZSBzZXJ2ZXIgdG8gdXNlIHRoZSBkZWZhdWx0IHZhbHVlIG9mIC0xLgoJVGh1cywgY2wtPnRpZ2h0UXVhbGl0eUxldmVsIGhhcyB0byBiZSBzZXQgdG8gLTEgcHJpb3IgdG8gcHJvY2Vzc2luZwoJdGhlIGVuY29kaW5ncyBtZXNzYWdlIGZvciB0aGlzIG1lY2hhbmlzbSB0byB3b3JrLiAgU2ltaWxhcmx5LCBpdCBpcwoJbm90IGd1YXJhbnRlZWQgdGhhdCB0aGUgY29tcHJlc3MgbGV2ZWwgd2lsbCBiZSBzZXQgaW4gdGhlIGVuY29kaW5ncwoJbWVzc2FnZSwgc28gaXQgaXMgc2V0IHRvIGEgZGVmYXVsdCB2YWx1ZSBwcmlvciB0byBwcm9jZXNzaW5nIHRoZQoJbWVzc2FnZS4KCjIwMTItMDMtMTAgIERSQyA8aW5mb3JtYXRpb25AdmlydHVhbGdsLm9yZz4KCgkqIGNvbW1vbi90dXJib2pwZWcuYywgY29tbW9uL3R1cmJvanBlZy5oLCBjb25maWd1cmUuYWMsCglsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW0sIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywKCWxpYnZuY3NlcnZlci90dXJiby5jLCByZmIvcmZiLmgsIHJmYi9yZmJwcm90by5oOiBBZGQgVHVyYm9WTkMKCWVuY29kaW5nIHN1cHBvcnQuICBUdXJib1ZOQyBpcyBhIHZhcmlhbnQgb2YgVGlnaHRWTkMgdGhhdCB1c2VzIHRoZSBzYW1lIGNsaWVudC9zZXJ2ZXIKCXByb3RvY29sIChSRkIgdmVyc2lvbiAzLjh0KSwgYW5kIHRodXMgaXQgaXMgZnVsbHkgY3Jvc3MtY29tcGF0aWJsZQoJd2l0aCBUaWdodFZOQyBhbmQgVGlnZXJWTkMgKHdpdGggb25lIGV4Y2VwdGlvbiwgd2hpY2ggaXMgbm90ZWQKCWJlbG93LikgQm90aCB0aGUgVGlnaHRWTkMgYW5kIFR1cmJvVk5DIGVuY29kZXJzIGFuYWx5emUgZWFjaAoJcmVjdGFuZ2xlLCBwaWNrIG91dCByZWdpb25zIG9mIHNvbGlkIGNvbG9yIHRvIHNlbmQgc2VwYXJhdGVseSwgYW5kCglzZW5kIHRoZSByZW1haW5pbmcgc3VicmVjdGFuZ2xlcyB1c2luZyBtb25vLCBpbmRleGVkIGNvbG9yLCBKUEVHLCBvcgoJcmF3IGVuY29kaW5nLCBkZXBlbmRpbmcgb24gdGhlIG51bWJlciBvZiBjb2xvcnMgaW4gdGhlIHN1YnJlY3RhbmdsZS4KCUhvd2V2ZXIsIFR1cmJvVk5DIHVzZXMgYSBmdW5kYW1lbnRhbGx5IGRpZmZlcmVudCBzZWxlY3Rpb24gYWxnb3JpdGhtCgl0byBkZXRlcm1pbmUgdGhlIGFwcHJvcHJpYXRlIHN1YmVuY29kaW5nIHRvIHVzZSBmb3IgZWFjaAoJc3VicmVjdGFuZ2xlLiAgVGh1cywgd2hpbGUgaXQgc2VuZHMgYSBwcm90b2NvbCBzdHJlYW0gdGhhdCBjYW4gYmUKCWRlY29kZWQgYnkgYW55IFRpZ2h0Vk5DLWNvbXBhdGlibGUgdmlld2VyLCB0aGUgbWl4IG9mIHN1YmVuY29kaW5nCgl0eXBlcyBpbiB0aGlzIHByb3RvY29sIHN0cmVhbSB3aWxsIGJlIGRpZmZlcmVudCBmcm9tIHRob3NlIGdlbmVyYXRlZAoJYnkgYSBUaWdodFZOQyBzZXJ2ZXIuICBUaGUgcmVzZWFyY2ggdGhhdCBsZWQgdG8gVHVyYm9WTkMgaXMgZGVzY3JpYmVkIGluIHRoZSBmb2xsb3dpbmcKCXJlcG9ydDoKCWh0dHA6Ly93d3cudmlydHVhbGdsLm9yZy9wbXdpa2kvdXBsb2Fkcy9BYm91dC90aWdodHRvdHVyYm8ucGRmLiAgSW4KCXN1bW1hcnk6ICAyMCBSRkIgY2FwdHVyZXMsIHJlcHJlc2VudGluZyAiY29tbW9uIiAyRCBhbmQgM0QKCWFwcGxpY2F0aW9uIHdvcmtsb2FkcyAodGhlIDNEIHdvcmtsb2FkcyB3ZXJlIHJ1biB1c2luZyBWaXJ0dWFsR0wpLAoJd2VyZSBzdHVkaWVkIHVzaW5nIHRoZSBUaWdodFZOQyBlbmNvZGVyIGluIGlzb2xhdGlvbi4gIFNvbWUgb2YgdGhlCglhbmFseXNpcyBmZWF0dXJlcyBpbiB0aGUgVGlnaHRWTkMgZW5jb2Rlciwgc3VjaCBhcyBzbW9vdGhuZXNzCglkZXRlY3Rpb24sIHdlcmUgZm91bmQgdG8gZ2VuZXJhdGUgYSBsb3Qgb2YgQ1BVIHVzYWdlIHdpdGggbGl0dGxlIG9yCglubyBiZW5lZml0IGluIGNvbXByZXNzaW9uLCBzbyB0aG9zZSBmZWF0dXJlcyB3ZXJlIGRpc2FibGVkLiAgSlBFRwoJZW5jb2Rpbmcgd2FzIGFjY2VsZXJhdGVkIHVzaW5nIGxpYmpwZWctdHVyYm8gKHdoaWNoIGFjaGlldmVzIGEgMi00eAoJc3BlZWR1cCBvdmVyIHBsYWluIGxpYmpwZWcgb24gbW9kZXJuIHg4NiBvciBBUk0gcHJvY2Vzc29ycy4pCglGaW5hbGx5LCB0aGUgInBhbGV0dGUgdGhyZXNob2xkIiAobWluaW11bSBudW1iZXIgb2YgY29sb3JzIHRoYXQgdGhlCglzdWJyZWN0YW5nbGUgbXVzdCBoYXZlIGJlZm9yZSBpdCBpcyBjb21wcmVzc2VkIHVzaW5nIEpQRUcgb3IgcmF3KQoJd2FzIGFkanVzdGVkIHRvIGFjY291bnQgZm9yIHRoZSBmYWN0IHRoYXQgSlBFRyBlbmNvZGluZyBpcyBub3cgcXVpdGUKCWEgYml0IGZhc3RlciAobWVhbmluZyB0aGF0IHdlIGNhbiBub3cgdXNlIGl0IG1vcmUgd2l0aG91dCBhIENQVQoJcGVuYWx0eS4pICBUdXJib1ZOQyBoYXMgYWRkaXRpb25hbCBvcHRpbWl6YXRpb25zLCBzdWNoIGFzIHRoZQoJYWJpbGl0eSB0byBjb3VudCBjb2xvcnMgYW5kIGVuY29kZSBKUEVHIGltYWdlcyBkaXJlY3RseSBmcm9tIHRoZQoJZnJhbWVidWZmZXIgd2l0aG91dCBmaXJzdCB0cmFuc2xhdGluZyB0aGUgcGl4ZWxzIGludG8gUkdCLiAgVGhlCglUdXJib1ZOQyBlbmNvZGVyIGNvbXBhcmVzIHF1aXRlIGZhdm9yYWJseSBpbiB0ZXJtcyBvZiBjb21wcmVzc2lvbgoJcmF0aW8gd2l0aCBUaWdodFZOQyBhbmQgZ2VuZXJhbGx5IGVuY29kZXMgYSBncmVhdCBkZWFsIGZhc3RlciAob2Z0ZW4KCWFuIG9yZGVyIG9mIG1hZ25pdHVkZSBvciBtb3JlLikgVGhlIHZlcnNpb24gb2YgdGhlIFR1cmJvVk5DIGVuY29kZXIgaW5jbHVkZWQgaW4gdGhpcyBwYXRjaCBpcwoJcm91Z2hseSBlcXVpdmFsZW50IHRvIHRoZSBvbmUgZm91bmQgaW4gdmVyc2lvbiAwLjYgb2YgdGhlIFVuaXgKCVR1cmJvVk5DIFNlcnZlciwgd2l0aCBhIGZldyBtaW5vciBwYXRjaGVzIGludGVncmF0ZWQgZnJvbSBUdXJib1ZOQwoJMS4xLiAgVHVyYm9WTkMgMS4wIGFkZGVkIG11bHRpLXRocmVhZGluZyBjYXBhYmlsaXRpZXMsIHdoaWNoIGNhbiBiZQoJYWRkZWQgaW4gbGF0ZXIgaWYgZGVzaXJlZCAoYXQgdGhlIGV4cGVuc2Ugb2YgbWFraW5nIGxpYnZuY3NlcnZlcgoJZGVwZW5kIG9uIGxpYnB0aHJlYWQuKSBCZWNhdXNlIFR1cmJvVk5DIHVzZXMgYSBmdW5kYW1lbnRhbGx5IGRpZmZlcmVudCBtaXggb2Ygc3ViZW5jb2RpbmdzCgl0aGFuIFRpZ2h0Vk5DLCBiZWNhdXNlIGl0IHVzZXMgdGhlIGlkZW50aWNhbCBwcm90b2NvbCAoYW5kIHRodXMgYQoJdmlld2VyIHJlYWxseSBoYXMgbm8gaWRlYSB3aGV0aGVyIGl0J3MgdGFsa2luZyB0byBhIFRpZ2h0Vk5DIG9yCglUdXJib1ZOQyBzZXJ2ZXIpLCBhbmQgYmVjYXVzZSBpdCBkb2Vzbid0IHN1cHBvcnQgcmZiVGlnaHRQbmcgKGFuZCBpbgoJZmFjdCBjb25mbGljdHMgd2l0aCBpdC0tIHNlZSBiZWxvdyksIHRoZSBUdXJib1ZOQyBhbmQgVGlnaHRWTkMKCWVuY29kZXJzIGNhbm5vdCBiZSBlbmFibGVkIHNpbXVsdGFuZW91c2x5LiAgQ29tcGF0aWJpbGl0eTogSW4gKm1vc3QqIGNhc2VzLCBhIFR1cmJvVk5DLWVuYWJsZWQgdmlld2VyIGlzIGZ1bGx5IGNvbXBhdGlibGUgd2l0aAoJYSBUaWdodFZOQyBzZXJ2ZXIsIGFuZCB2aWNlIHZlcnNhLiAgVHVyYm9WTkMgc3VwcG9ydHMKCXBzZXVkby1lbmNvZGluZ3MgZm9yIHNwZWNpZnlpbmcgYSBmaW5lLWdyYWluZWQgKDEtMTAwKSBxdWFsaXR5IHNjYWxlCglhbmQgc3BlY2lmeWluZyBjaHJvbWluYW5jZSBzdWJzYW1wbGluZy4gIElmIGEgVHVyYm9WTkMgdmlld2VyIHNlbmRzCgl0aG9zZSB0byBhIFRpZ2h0Vk5DIHNlcnZlciwgdGhlbiB0aGUgVGlnaHRWTkMgc2VydmVyIGlnbm9yZXMgdGhlbSwKCXNvIHRoZSBUdXJib1ZOQyB2aWV3ZXIgYWxzbyBzZW5kcyB0aGUgcXVhbGl0eSBvbiBhIDAtOSBzY2FsZSB0aGF0Cgl0aGUgVGlnaHRWTkMgc2VydmVyIGNhbiB1bmRlcnN0YW5kLiAgU2ltaWxhcmx5LCB0aGUgVHVyYm9WTkMgc2VydmVyCgljaGVja3MgZmlyc3QgZm9yIGZpbmUtZ3JhaW5lZCBxdWFsaXR5IGFuZCBzdWJzYW1wbGluZwoJcHNldWRvLWVuY29kaW5ncyBmcm9tIHRoZSB2aWV3ZXIsIGFuZCBmYWlsaW5nIHRvIHJlY2VpdmUgdGhvc2UsIGl0Cgl0aGVuIGNoZWNrcyBmb3IgdGhlIFRpZ2h0Vk5DIDAtOSBxdWFsaXR5IHBzZXVkby1lbmNvZGluZy4gIFRoZXJlIGlzIG9uZSBjYXNlIGluIHdoaWNoIHRoZSB0d28gc3lzdGVtcyBhcmUgbm90IGNvbXBhdGlibGUsIGFuZAoJdGhhdCBpcyB3aGVuIGEgVGlnaHRWTkMgb3IgVGlnZXJWTkMgdmlld2VyIHJlcXVlc3RzIGNvbXByZXNzaW9uCglsZXZlbCAwIHdpdGhvdXQgSlBFRyBmcm9tIGEgVHVyYm9WTkMgc2VydmVyLiAgRm9yIHBlcmZvcm1hbmNlCglyZWFzb25zLCB0aGlzIGNhdXNlcyB0aGUgVHVyYm9WTkMgc2VydmVyIHRvIHNlbmQgaW1hZ2VzIGRpcmVjdGx5IHRvCgl0aGUgdmlld2VyLCBieXBhc3NpbmcgWmxpYi4gIFdoZW4gdGhlIFR1cmJvVk5DIHNlcnZlciBkb2VzIHRoaXMsIGl0CglhbHNvIHNldHMgYml0cyA3LTQgaW4gdGhlIGNvbXByZXNzaW9uIGNvbnRyb2wgYnl0ZSB0byByZmJUaWdodE5vWmxpYgoJKDB4MEEpLCB3aGljaCBpcyB1bmZvcnR1bmF0ZWx5IHRoZSBzYW1lIHZhbHVlIGFzIHJmYlRpZ2h0UG5nLiAgT2xkZXIKCVRpZ2h0Vk5DIHZpZXdlcnMgdGhhdCBkb24ndCBoYW5kbGUgUE5HIHdpbGwgYXNzdW1lIHRoYXQgdGhlIHN0cmVhbQoJaXMgdW5jb21wcmVzc2VkIGJ1dCBzdGlsbCBlbmNhcHN1bGF0ZWQgaW4gYSBabGliIHN0cnVjdHVyZSwgd2hlcmVhcwoJbmV3ZXIgUE5HLXN1cHBvcnRpbmcgVGlnaHRWTkMgdmlld2VycyB3aWxsIGFzc3VtZSB0aGF0IHRoZSBzdHJlYW0gaXMKCVBORy4gIEluIGVpdGhlciBjYXNlLCB0aGUgdmlld2VyIHdpbGwgcHJvYmFibHkgY3Jhc2guICBTaW5jZSBtb3N0CglWTkMgdmlld2VycyBkb24ndCBleHBvc2UgY29tcHJlc3Npb24gbGV2ZWwgMCBpbiB0aGUgR1VJLCB0aGlzIGlzIGEKCXJlbGF0aXZlbHkgcmFyZSBzaXR1YXRpb24uICBEZXNjcmlwdGlvbiBvZiBjaGFuZ2VzOiBjb25maWd1cmUuYWMgLS0gQWRkZWQgc3VwcG9ydCBmb3IgbGlianBlZy10dXJiby4gIElmIHBhc3NlZCBhbgoJICAgYXJndW1lbnQgb2YgLS13aXRoLXR1cmJvdm5jLCBjb25maWd1cmUgd2lsbCBub3cgcnVuIChvciwgaWYgY3Jvc3MtY29tcGlsaW5nLCBqdXN0IGxpbmspIGEgdGVzdCBwcm9ncmFtIHRoYXQgZGV0ZXJtaW5lcwoJICAgd2hldGhlciB0aGUgbGlianBlZyBsaWJyYXJ5IGJlaW5nIHVzZWQgaXMgbGlianBlZy10dXJiby4KCSAgIGxpYmpwZWctdHVyYm8gbXVzdCBiZSB1c2VkIHdoZW4gYnVpbGRpbmcgdGhlIFR1cmJvVk5DIGVuY29kZXIsCgkgICBiZWNhdXNlIHRoZSBUdXJib1ZOQyBlbmNvZGVyIHJlbGllcyBvbiB0aGUgbGlianBlZy10dXJibwoJICAgY29sb3JzcGFjZSBleHRlbnNpb25zIGluIG9yZGVyIHRvIGNvbXByZXNzIGltYWdlcyBkaXJlY3RseSBvdXQgb2YKCSAgIHRoZSBmcmFtZWJ1ZmZlciAod2hpY2ggbWF5IGJlLCBmb3IgaW5zdGFuY2UsIEJHUkEgcmF0aGVyIHRoYW4gUkdCLikKCSAgIGxpYmpwZWctdHVyYm8gY2FuIG9wdGlvbmFsbHkgYmUgdXNlZCB3aXRoIHRoZSBUaWdodFZOQyBlbmNvZGVyIGFzCgkgICB3ZWxsLCBidXQgdGhlIHNwZWVkdXAgd2lsbCBvbmx5IGJlIG1hcmdpbmFsICh0aGUgcmVwb3J0IGxpbmtlZCBhYm92ZQoJICAgIGV4cGxhaW5zIHdoeSBpbiBtb3JlIGRldGFpbCwgYnV0IGJhc2ljYWxseSBpdCdzIGJlY2F1c2Ugb2YgQW1kYWhsJ3MKCSAgICBMYXcuICBUaGUgVGlnaHRWTkMgZW5jb2RlciB3YXMgZGVzaWduZWQgd2l0aCB0aGUgYXNzdW1wdGlvbiB0aGF0CglKUEVHIGhhZCBhIHZlcnkgaGlnaCBDUFUgY29zdCwgYW5kIHRodXMgSlBFRyBpcyB1c2VkIG9ubHkKCXNwYXJpbmdseS4pIC0tIEFkZGVkIGEgbmV3IGNvbmZpZ3VyZSB2YXJpYWJsZSwgSlBFR19MREZMQUdTLiAgVGhpcwoJICAgaXMgbmVjZXNzaXRhdGVkIGJ5IHRoZSBmYWN0IHRoYXQgbGlianBlZy10dXJibyBvZnRlbiBkaXN0cmlidXRlcwoJICAgbGlianBlZy5hIGFuZCBsaWJqcGVnLnNvIGluIC9vcHQvbGlianBlZy10dXJiby9saWIzMiBvcgoJICAgL29wdC9saWJqcGVnLXR1cmJvL2xpYjY0LCBhbmQgbWFueSBwZW9wbGUgcHJlZmVyIHRvIHN0YXRpY2FsbHkKCSAgIGxpbmsgd2l0aCBpdC4gIFRodXMsIG1vcmUgZmxleGliaWxpdHkgaXMgbmVlZGVkIHRoYW4gaXMgcHJvdmlkZWQgYnkKCSAgIC0td2l0aC1qcGVnLiAgSWYgSlBFR19MREZMQUdTIGlzIHNwZWNpZmllZCwgdGhlbiBpdCBvdmVycmlkZXMgdGhlCgkgICBjaGFuZ2VzIHRvIExERkxBR1MgZW5hY3RlZCBieSAtLXdpdGgtanBlZyAoYnV0IC0td2l0aC1qcGVnIGlzCgkgICBzdGlsbCB1c2VkIHRvIHNldCB0aGUgaW5jbHVkZSBwYXRoLikgIFRoZSBhZGRpdGlvbiBvZiBKUEVHX0xERkxBR1MKCW5lY2Vzc2l0YXRlZCByZXBsYWNpbmcgQUNfQ0hFQ0tfTElCIHdpdGggQUNfTElOS19JRkVMU0UgKGJlY2F1c2UKCSAgIEFDX0NIRUNLX0xJQiBhdXRvbWF0aWNhbGx5IHNldHMgTElCUyB0byAtbGpwZWcsIHdoaWNoIGlzIG5vdCB3aGF0IHdlCgl3YW50IGlmIHdlJ3JlLCBmb3IgaW5zdGFuY2UsIGxpbmtpbmcgc3RhdGljYWxseSB3aXRoIGxpYmpwZWctdHVyYm8uKQoJLS0gY29uZmlndXJlIGRvZXMgbm90IGNoZWNrIGZvciBQTkcgc3VwcG9ydCBpZiBUdXJib1ZOQyBlbmNvZGluZyBpcwoJICAgZW5hYmxlZC4gIFRoaXMgcHJldmVudHMgdGhlIHJmYlNlbmRSZWN0RW5jb2RpbmdUaWdodFBuZygpIGZ1bmN0aW9uCgkgICBmcm9tIGJlaW5nIGNvbXBpbGVkIGluLCBzaW5jZSB0aGUgVHVyYm9WTkMgZW5jb2RlciBkb2Vzbid0IChhbmQKCWNhbid0KSBzdXBwb3J0IGl0LiAgY29tbW9uL3R1cmJvanBlZy5jLCBjb21tb24vdHVyYm9qcGVnLmggLS0gVHVyYm9KUEVHIGlzIGEgc2ltcGxlIEFQSQoJICAgdXNlZCB0byBjb21wcmVzcyBhbmQgZGVjb21wcmVzcyBKUEVHIGltYWdlcyBpbiBtZW1vcnkuICBJdCB3YXMKCSAgIG9yaWdpbmFsbHkgaW1wbGVtZW50ZWQgYmVjYXVzZSBpdCB3YXMgZGVzaXJhYmxlIHRvIHVzZSBkaWZmZXJlbnQKCSAgIHR5cGVzIG9mIHVuZGVybHlpbmcgdGVjaG5vbG9naWVzIHRvIGNvbXByZXNzIEpQRUcgb24gZGlmZmVyZW50CgkgICBwbGF0Zm9ybXMgKG1lZGlhTGliIG9uIFNQQVJDLCBRdWlja3RpbWUgb24gUFBDIE1hY3MsIEludGVsCgkgICBQZXJmb3JtYW5jZSBQcmltaXRpdmVzLCBldGMuKSBUaGVzZSBkYXlzLCBob3dldmVyLCBsaWJqcGVnLXR1cmJvCgkgICBpcyB0aGUgb25seSB1bmRlcmx5aW5nIHRlY2hub2xvZ3kgdXNlZCBieSBUdXJib1ZOQywgc28gVHVyYm9KUEVHJ3MKCXB1cnBvc2UgaXMgbGFyZ2VseSBqdXN0IGNvZGUgc2ltcGxpY2l0eSBhbmQgZmxleGliaWxpdHkuICBUaHVzLAoJICAgc2luY2UgdGhlcmUgaXMgbm8gcmVhbCBuZWVkIGZvciBsaWJ2bmNzZXJ2ZXIgdG8gdXNlIGFueSB0ZWNobm9sb2d5CgkgICBvdGhlciB0aGFuIGxpYmpwZWctdHVyYm8gZm9yIGNvbXByZXNzaW5nIEpQRUcsIHRoZSBUdXJib0pQRUcgd3JhcHBlcgoJZm9yIGxpYmpwZWctdHVyYm8gaGFzIGJlZW4gaW5jbHVkZWQgaW4tdHJlZSBzbyB0aGF0IGxpYnZuY3NlcnZlciBjYW4KCSAgIGJlIGRpcmVjdGx5IGxpbmtlZCB3aXRoIGxpYmpwZWctdHVyYm8uICBUaGlzIGlzIGNvbnZlbmllbnQgYmVjYXVzZQoJICAgbWFueSBtb2Rlcm4gTGludXggZGlzdHJvcyAoRmVkb3JhLCBVYnVudHUsIGV0Yy4pIG5vdyBzaGlwCgkgICBsaWJqcGVnLXR1cmJvIGFzIHRoZWlyIGRlZmF1bHQgbGlianBlZyBsaWJyYXJ5LiAgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jIC0tIEFkZGVkIGxvZ2ljIHRvIGNoZWNrIGZvciB0aGUgVHVyYm9WTkMKCSAgIGZpbmUtZ3JhaW5lZCBxdWFsaXR5IGxldmVsIGFuZCBzdWJzYW1wbGluZyBlbmNvZGluZ3MgYW5kIHRvIG1hcAoJICAgVGlnaHQgKDAtOSkgcXVhbGl0eSBsZXZlbHMgdG8gYXBwcm9wcmlhdGUgZmluZS1ncmFpbmVkIHF1YWxpdHkgbGV2ZWwKCSAgIGFuZCBzdWJzYW1wbGluZyB2YWx1ZXMgaWYgY29tbXVuaWNhdGluZyB3aXRoIGEgVGlnaHRWTkMvVGlnZXJWTkMKCXZpZXdlci4gIGxpYnZuY3NlcnZlci90dXJiby5jIC0tIFR1cmJvVk5DIGVuY29kZXIgKGNvbXBpbGVkIGluc3RlYWQgb2YKCWxpYnZuY3NlcnZlci90aWdodC5jKSByZmIvcmZiLmggLS0gQWRkZWQgc3VwcG9ydCBmb3IgdGhlIFR1cmJvVk5DIHN1YnNhbXBsaW5nIGxldmVsIHJmYi9yZmJwcm90by5oIC0tIEFkZGVkIGNvbnN0YW50cyBmb3IgdGhlIFR1cmJvVk5DIGZpbmUgcXVhbGl0eQoJICAgbGV2ZWwgYW5kIHN1YnNhbXBsaW5nIGVuY29kaW5ncyBhcyB3ZWxsIGFzIHRoZSByZmJUaWdodE5vWmxpYgoJY29uc3RhbnQgYW5kIG5vdGVzIG9uIGl0cyB1c2FnZS4KCjIwMTItMDMtMTAgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNsaWVudF9leGFtcGxlcy9TREx2bmN2aWV3ZXIuYywgbGlidm5jY2xpZW50L2xpc3Rlbi5jLAoJbGlidm5jY2xpZW50L3NvY2tldHMuYywgbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jLAoJbGlidm5jc2VydmVyL3NvY2tldHMuYywgcmZiL3JmYmNsaWVudC5oOiBJUHY2IHN1cHBvcnQgZm9yCglMaWJWTkNTZXJ2ZXIsIHBhcnQgdGhyZWU6IG1ha2UgcmV2ZXJzZSBjb25uZWN0aW9ucyBJUHY2LWNhcGFibGUuICBCZXNpZGVkIG1ha2luZyBsaWJ2bmNzZXJ2ZXIgcmV2ZXJzZVZOQyBJUHY2LWF3YXJlLCB0aGlzIGludHJvZHVjZXMKCXNvbWUgY2hhbmdlcyBvbiB0aGUgY2xpZW50IHNpZGUgYXMgd2VsbCB0byBtYWtlIGNsaWVudHMgbGlzdGVuIG9uCglJUHY2IHNvY2tldHMsIHRvby4gTGlrZSB0aGUgc2VydmVyIHNpZGUsIHRoaXMgYWxzbyB1c2VzIGEKCXNlcGFyYXRlLXNvY2tldCBhcHByb2FjaC4KCjIwMTItMDMtMTAgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY3NlcnZlci9zb2NrZXRzLmM6IElQdjYgc3VwcG9ydCBmb3IgTGliVk5DU2VydmVyLCBwYXJ0CglvbmVwb2ludHNldmVuOiBQbHVnIGEgbWVtbGVhay4gIFdlIGhhdmUgdG8gcHJvcGVybHkgZnJlZSB0aGUgYWRkcmluZm8gc3RydWN0IHdoZW4ganVtcGluZyBvdXQgb2YgdGhlCglmdW5jdGlvbi4KCjIwMTItMDMtMDkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIHdlYmNsaWVudHMvaW5kZXgudm5jOiBJUHY2IHN1cHBvcnQgZm9yIExpYlZOQ1NlcnZlciwgcGFydAoJdHdvcG9pbnRvbmU6IHByb3Blcmx5IHN1cnJvdW5kIElQdjYgYWRkcmVzc2VzIHdpdGggW10gZm9yIG5vVk5DIFVSTC4gIFNvbWUgYnJvd3NlcnMgb21pdCB0aGUgc3F1YXJlIGJyYWNrZXRzIGluCglkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSwgc28gYWRkIHRoZW0gaWYgbWlzc2luZy4KCjIwMTItMDItMjcgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY3NlcnZlci9jYXJncy5jLCBsaWJ2bmNzZXJ2ZXIvaHR0cGQuYywgbGlidm5jc2VydmVyL21haW4uYywKCXJmYi9yZmIuaDogSVB2NiBzdXBwb3J0IGZvciBMaWJWTkNTZXJ2ZXIsIHBhcnQgdHdvOiBMZXQgdGhlIGh0dHAKCXNlcnZlciBsaXN0ZW4gb24gSVB2NiwgdG9vLiAgQXMgZG9uZSB3aXRoIHRoZSBSRkIgc29ja2V0cywgdGhpcyB1c2VzIGEgc2VwYXJhdGUtc29ja2V0IGFwcHJvYWNoCglhcyB3ZWxsLgoKMjAxMi0wMi0yNyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jc2VydmVyL21haW4uYzogSVB2NiBzdXBwb3J0IGZvciBMaWJWTkNTZXJ2ZXIsIHBhcnQKCW9uZXBvaW50c2l4OiBmaXggYSBzbWFsbCBsb2dpYyBlcnJvci4gIFdpdGhvdXQgdGhpcywgd2Ugd291bGQgaGF2ZSBnb3R0ZW4gYSBzdGFsZSBJUHY0IHNvY2tldCBpbiBhIHJhY2UKCWNvbmRpdGlvbi4KCjIwMTItMDItMjcgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgbGlidm5jc2VydmVyL3NvY2tldHMuYzogSVB2NiBzdXBwb3J0IGZvcgoJTGliVk5DU2VydmVyLCBwYXJ0IG9uZXBvaW50Zml2ZTogRml4IGNvbXBpbGF0aW9uIHdpdGggSVB2NiBtaXNzaW5nLiAgVGhlcmUgd2FzIGFuIG92ZXJzaWdodCB0aGF0IGNyZXB0IGluLi4uCgoyMDEyLTAyLTIwICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvY2FyZ3MuYywgbGlidm5jc2VydmVyL21haW4uYywKCWxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgbGlidm5jc2VydmVyL3NvY2tldHMuYywgcmZiL3JmYi5oOiBJUHY2CglzdXBwb3J0IGZvciBMaWJWTkNTZXJ2ZXIsIHBhcnQgb25lOiBhY2NlcHQgSVB2NCBhbmQgSVB2NgoJY29ubmVjdGlvbnMuICBUaGlzIHVzZXMgYSBzZXBhcmF0ZS1zb2NrZXQgYXBwcm9hY2ggc2luY2UgdGhlcmUgYXJlIHN5c3RlbXMgdGhhdCBkbwoJbm90IHN1cHBvcnQgZHVhbCBiaW5kaW5nIHNvY2tldHMgdW5kZXIgKmFueSogY2lyY3Vtc3RhbmNlcywgZm9yCglpbnN0YW5jZSBPcGVuQlNELiBVc2luZyBzZXBhcmF0ZSBzb2NrZXRzIGZvciBJUHY0IGFuZCBJUHY2IGlzIHRodXMKCW1vcmUgcG9ydGFibGUgdGhhbiBoYXZpbmcgYSB2NiBzb2NrZXQgaGFuZGxlIHY0IGNvbm5lY3Rpb25zIGFzIHdlbGwuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDEyLTAyLTExICBNYXRldXMgQ2VzYXIgR3JvZXNzIDxtYXRldXNjZ0BnbWFpbC5jb20+CgoJKiBBVVRIT1JTLCBjbGllbnRfZXhhbXBsZXMvTWFrZWZpbGUuYW0sCgljbGllbnRfZXhhbXBsZXMvZ3Rrdm5jdmlld2VyLmMsIGNvbmZpZ3VyZS5hYzogSGVyZSBpcyBhIHBvcnQgb2YKCVNETHZuY3ZpZXdlciB0byBHVEsrMi4gIEkgdGhpbmsgaXQgbWF5IGVuY291cmFnZSBwZW9wbGUgdG8gaW1wbGVtZW50IG1vcmUgZmVhdHVyZXMgZm9yIHRoZQoJdmlld2VyLCBiZWNhdXNlIGEgR1RLIEdVSSBzZWVtcyB0byBiZSBlYXNpZXIgdG8gaW1wbGVtZW50IHRoYW4gYSBTREwKCW9uZSAoYW5kIGl0IGlzIG1vcmUgaW50ZWdyYXRlZCB3aXRoIHRoZSBtYWpvciBMaW51eCBEZXNrdG9wcyBvdXQKCXRoZXJlKS4gIFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCjIwMTItMDItMTEgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIEFVVEhPUlM6IFVwZGF0ZSBBVVRIT1JTLgoKMjAxMi0wMi0xMCAgS3lsZSBKLiBNY0theSA8bWFja3lsZUBnbWFpbC5jb20+CgoJKiBsaWJ2bmNzZXJ2ZXIvYXV0aC5jLCBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIHJmYi9yZmIuaDogU3VwcG9ydAoJTWFjIE9TIFggdm5jIGNsaWVudCB3aXRoIG5vIHBhc3N3b3JkIFN1cHBvcnQgY29ubmVjdGlvbnMgZnJvbSB0aGUgTWFjIE9TIFggYnVpbHQtaW4gVk5DIGNsaWVudCB0bwoJTGliVk5DU2VydmVycyBydW5uaW5nIHdpdGggbm8gcGFzc3dvcmQgYW5kIGFkdmVydGlzaW5nIGEgc2VydmVyCgl2ZXJzaW9uIG9mIDMuNyBvciBncmVhdGVyLgoKMjAxMi0wMi0wNCAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiBBVVRIT1JTOiBBZGQgTHVjYSB0byB0aGUgQVVUSE9SUyBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTItMDItMDQgIEx1Y2EgU3RhdWJsZSA8Z25la296QGdtYWlsLmNvbT4KCgkqIGxpYnZuY2NsaWVudC9saXN0ZW4uYywgbGlidm5jY2xpZW50L3NvY2tldHMuYywKCWxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywgcmZiL3JmYmNsaWVudC5oOiBBZGQgYW4gb3B0aW9uYWwgcGFyYW1ldGVyCgl0byBzcGVjaWZ5IHRoZSBpcCBhZGRyZXNzIGZvciByZXZlcnNlIGNvbm5lY3Rpb25zIEZvciBzZWN1cml0eSByZWFzb25zLCBpdCBjYW4gYmUgaW1wb3J0YW50IHRvIGxpbWl0IHdoaWNoIElQCglhZGRyZXNzZXMgYSBMaWJWTkNDbGllbnQtYmFzZWQgY2xpZW50IHNob3VsZCBsaXN0ZW4gZm9yIHJldmVyc2UKCWNvbm5lY3Rpb25zLiBUaGlzIGNvbW1pdCBhZGRzIHRoYXQgb3B0aW9uLiAgVG8gcHJlc2VydmUgYmluYXJ5IGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LCB0aGUgZmllbGQgd2FzIGFkZGVkIHRvCgl0aGUgZW5kIG9mIHRoZSByZmJjbGllbnQgc3RydWN0LCBhbmQgdGhlIGZ1bmN0aW9uIExpc3RlbkF0VGNwUG9ydAoJcmV0YWlucyBpdHMgc2lnbmF0dXJlIChidXQgY2FsbHMgdGhlIG5ldyBMaXN0ZW5BdFRjcFBvcnRBbmRBZGRyZXNzKS4gIFtqZXM6IHNob3J0ZW5lZCB0aGUgY29tbWl0IHN1YmplY3QsIGFkZGVkIGEgbG9uZ2VyIGV4cGxhbmF0aW9uIGluCgl0aGUgY29tbWl0IGJvZHkgYW5kIGFkanVzdGVkIHN0eWxlXSBTaWduZWQtb2ZmLWJ5OiBMdWNhIFN0YXVibGUgPGduZWtvekBnbWFpbC5jb20+IFNpZ25lZC1vZmYtYnk6CglKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTItMDEtMTIgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3QudGVuY2hpb0BzZWN1cmVwb2ludC5kZT4KCgkqIGxpYnZuY3NlcnZlci93ZWJzb2NrZXRzLmM6IHdlYnNvY2tldHM6IHJlbW92ZWQgZGVidWcgbWVzc2FnZQoKMjAxMi0wMS0xMiAgR2Vybm90IFRlbmNoaW8gPGdlcm5vdC50ZW5jaGlvQHNlY3VyZXBvaW50LmRlPgoKCSogbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYzogd2Vic29ja2V0czogcmVzdG9yZSBlcnJubyBhZnRlciBsb2dnaW5nCglhbiBlcnJvcgoKMjAxMi0wMS0xMiAgR2Vybm90IFRlbmNoaW8gPGdlcm5vdC50ZW5jaGlvQHNlY3VyZXBvaW50LmRlPgoKCSogQ01ha2VMaXN0cy50eHQ6IGNtYWtlOiBhZGFwdGVkIHRvIGxhdGVzdCB3ZWJzb2NrZXQgY3J5cHRvIGNoYW5nZXMKCjIwMTEtMTItMTUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIHJmYi9yZmJjbGllbnQuaDogU21hbGwgY2hhbmdlcyB0byBMaWJOVkNDbGllbnQgZG94eWdlbgoJZG9jdW1lbnRhdGlvbi4KCjIwMTEtMTItMDEgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY3NlcnZlci9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIGVycm9yIHdoZW4gbGlicG5nIGlzCglhdmFpbGFibGUsIGJ1dCBsaWJqcGVnIGlzIG5vdC4gIFRoZSBwbmcgc3R1ZmYgaW4gdGlnaHQuYyBkZXBlbmRzIG9uIGNvZGUgaW4gdGlnaHQuYyB0aGF0IHVzZXMKCWxpYmpwZWcgZmVhdHVyZXMuIFdlIGNvdWxkIHByb2JhYmx5IHNlcGVyYXRlIHRoYXQsIGJ1dCBmb3Igbm93IHRoZQoJZGVwZW5kZW5jeSBmb3IgJ3RpZ2h0JyBnb2VzOiBQTkcgZGVwZW5kcyBvbiBKUEVHIGRlcGVuZHMgb24gWkxJQi4gIFRoaXMgaXMgcmVmbGVjdGVkIGluIE1ha2VmaWxlLmFtIG5vdy4gIE5COiBCdWlsZGluZyB0aWdodC5jIHdpdGggSlBFRyBidXQgd2l0aG91dCBQTkcgaXMgc3RpbGwgcG9zc2libGUsICAgICBidXQgbm9yIHRoZSBvdGhlciB3YXkgYXJvdW5kLgoKMjAxMS0xMi0wMSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogY29uZmlndXJlLmFjOiBVc2UgQU1fU0lMRU5UX1JVTEVTIG9ubHkgd2hlbiBpdCdzIGFjdHVhbGx5CglhdmFpbGFibGUuICBPdGhlcndpc2UgYnVpbGRpbmcgYnJlYWtzIHdpdGggb2xkZXIgbWFrZSB2ZXJzaW9ucy4gSGFwcGVucyBvbiBPUyBYCgkxMC42IGZvciBpbnN0YW5jZS4KCjIwMTEtMTEtMDkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYywgd2ViY2xpZW50cy9NYWtlZmlsZS5hbSwgd2ViY2xpZW50cy9pbmRleC52bmMsCgl3ZWJjbGllbnRzL2phdmEtYXBwbGV0L01ha2VmaWxlLmFtLAoJd2ViY2xpZW50cy9qYXZhLWFwcGxldC9qYXZhdmlld2VyLnBzZXVkb19wcm94eS5wYXRjaCwKCXdlYmNsaWVudHMvamF2YS1hcHBsZXQvc3NsL01ha2VmaWxlLmFtLAoJd2ViY2xpZW50cy9qYXZhLWFwcGxldC9zc2wvUkVBRE1FLAoJd2ViY2xpZW50cy9qYXZhLWFwcGxldC9zc2wvaW5kZXgudm5jLAoJd2ViY2xpZW50cy9qYXZhLWFwcGxldC9zc2wvb25ldGltZWtleSwKCXdlYmNsaWVudHMvamF2YS1hcHBsZXQvc3NsL3Byb3h5LnZuYywKCXdlYmNsaWVudHMvamF2YS1hcHBsZXQvc3NsL3NzX3ZuY3ZpZXdlciwKCXdlYmNsaWVudHMvamF2YS1hcHBsZXQvc3NsL3RpZ2h0dm5jLTEuM2RldjdfamF2YXNyYy12bmN2aWV3ZXItY3Vyc28KCXItY29sb3JzK25vLXRhYi10cmF2ZXJzYWwucGF0Y2gsCgl3ZWJjbGllbnRzL2phdmEtYXBwbGV0L3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLXNzbC5wCglhdGNoLCB3ZWJjbGllbnRzL2phdmEtYXBwbGV0L3NzbC91bHRyYS52bmMsCgl3ZWJjbGllbnRzL2phdmEtYXBwbGV0L3NzbC91bHRyYXByb3h5LnZuYywKCXdlYmNsaWVudHMvamF2YS1hcHBsZXQvc3NsL3VsdHJhc2lnbmVkLnZuYywKCXdlYmNsaWVudHMvamF2YS1hcHBsZXQvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2gsCgl3ZWJjbGllbnRzL2phdmF2aWV3ZXIucHNldWRvX3Byb3h5LnBhdGNoLAoJd2ViY2xpZW50cy9zc2wvTWFrZWZpbGUuYW0sIHdlYmNsaWVudHMvc3NsL1JFQURNRSwKCXdlYmNsaWVudHMvc3NsL2luZGV4LnZuYywgd2ViY2xpZW50cy9zc2wvb25ldGltZWtleSwKCXdlYmNsaWVudHMvc3NsL3Byb3h5LnZuYywgd2ViY2xpZW50cy9zc2wvc3Nfdm5jdmlld2VyLAoJd2ViY2xpZW50cy9zc2wvdGlnaHR2bmMtMS4zZGV2N19qYXZhc3JjLXZuY3ZpZXdlci1jdXJzb3ItY29sb3JzK25vLQoJdGFiLXRyYXZlcnNhbC5wYXRjaCwKCXdlYmNsaWVudHMvc3NsL3RpZ2h0dm5jLTEuM2RldjdfamF2YXNyYy12bmN2aWV3ZXItc3NsLnBhdGNoLAoJd2ViY2xpZW50cy9zc2wvdWx0cmEudm5jLCB3ZWJjbGllbnRzL3NzbC91bHRyYXByb3h5LnZuYywKCXdlYmNsaWVudHMvc3NsL3VsdHJhc2lnbmVkLnZuYywKCXdlYmNsaWVudHMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2g6IE1vdmUgdGhlIGphdmEKCXN0dWZmIGludG8gd2ViY2xpZW50cy9qYXZhLWFwcGxldC4KCjIwMTEtMTEtMDkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIExpYlZOQ1NlcnZlci5zcGVjLmluLCBNYWtlZmlsZS5hbSwgUkVBRE1FLCBjbGFzc2VzL01ha2VmaWxlLmFtLAoJY2xhc3Nlcy9pbmRleC52bmMsIGNsYXNzZXMvamF2YXZpZXdlci5wc2V1ZG9fcHJveHkucGF0Y2gsCgljbGFzc2VzL25vdm5jL0xJQ0VOU0UudHh0LCBjbGFzc2VzL25vdm5jL1JFQURNRS5tZCwKCWNsYXNzZXMvbm92bmMvZmF2aWNvbi5pY28sIGNsYXNzZXMvbm92bmMvaW5jbHVkZS9iYXNlLmNzcywKCWNsYXNzZXMvbm92bmMvaW5jbHVkZS9iYXNlNjQuanMsIGNsYXNzZXMvbm92bmMvaW5jbHVkZS9ibGFjay5jc3MsCgljbGFzc2VzL25vdm5jL2luY2x1ZGUvYmx1ZS5jc3MsIGNsYXNzZXMvbm92bmMvaW5jbHVkZS9kZXMuanMsCgljbGFzc2VzL25vdm5jL2luY2x1ZGUvZGlzcGxheS5qcywgY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL2lucHV0LmpzLAoJY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL2xvZ28uanMsIGNsYXNzZXMvbm92bmMvaW5jbHVkZS9wbGF5YmFjay5qcywKCWNsYXNzZXMvbm92bmMvaW5jbHVkZS9yZmIuanMsIGNsYXNzZXMvbm92bmMvaW5jbHVkZS91aS5qcywKCWNsYXNzZXMvbm92bmMvaW5jbHVkZS91dGlsLmpzLCBjbGFzc2VzL25vdm5jL2luY2x1ZGUvdm5jLmpzLAoJY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL3dlYi1zb2NrZXQtanMvUkVBRE1FLnR4dCwKCWNsYXNzZXMvbm92bmMvaW5jbHVkZS93ZWItc29ja2V0LWpzL3N3Zm9iamVjdC5qcywKCWNsYXNzZXMvbm92bmMvaW5jbHVkZS93ZWItc29ja2V0LWpzL3dlYl9zb2NrZXQuanMsCgljbGFzc2VzL25vdm5jL2luY2x1ZGUvd2Vic29jay5qcywgY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL3dlYnV0aWwuanMsCgljbGFzc2VzL25vdm5jL3ZuYy5odG1sLCBjbGFzc2VzL25vdm5jL3ZuY19hdXRvLmh0bWwsCgljbGFzc2VzL3NzbC9NYWtlZmlsZS5hbSwgY2xhc3Nlcy9zc2wvUkVBRE1FLCBjbGFzc2VzL3NzbC9pbmRleC52bmMsCgljbGFzc2VzL3NzbC9vbmV0aW1la2V5LCBjbGFzc2VzL3NzbC9wcm94eS52bmMsCgljbGFzc2VzL3NzbC9zc192bmN2aWV3ZXIsCgljbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLWN1cnNvci1jb2xvcnMrbm8tdGFiCgktdHJhdmVyc2FsLnBhdGNoLAoJY2xhc3Nlcy9zc2wvdGlnaHR2bmMtMS4zZGV2N19qYXZhc3JjLXZuY3ZpZXdlci1zc2wucGF0Y2gsCgljbGFzc2VzL3NzbC91bHRyYS52bmMsIGNsYXNzZXMvc3NsL3VsdHJhcHJveHkudm5jLAoJY2xhc3Nlcy9zc2wvdWx0cmFzaWduZWQudm5jLAoJY2xhc3Nlcy9zc2wvdWx0cmF2bmMtMTAyLUphdmFWaWV3ZXItc3NsLWV0Yy5wYXRjaCwgY29uZmlndXJlLmFjLAoJZXhhbXBsZXMvZXhhbXBsZS5jLCBleGFtcGxlcy9wbm1zaG93LmMsIGV4YW1wbGVzL3BubXNob3cyNC5jLAoJcmZiL3JmYi5oLCB3ZWJjbGllbnRzL01ha2VmaWxlLmFtLCB3ZWJjbGllbnRzL2luZGV4LnZuYywKCXdlYmNsaWVudHMvamF2YXZpZXdlci5wc2V1ZG9fcHJveHkucGF0Y2gsCgl3ZWJjbGllbnRzL25vdm5jL0xJQ0VOU0UudHh0LCB3ZWJjbGllbnRzL25vdm5jL1JFQURNRS5tZCwKCXdlYmNsaWVudHMvbm92bmMvZmF2aWNvbi5pY28sIHdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9iYXNlLmNzcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9iYXNlNjQuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvYmxhY2suY3NzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL2JsdWUuY3NzLCB3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvZGVzLmpzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL2Rpc3BsYXkuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvaW5wdXQuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvbG9nby5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9wbGF5YmFjay5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS9yZmIuanMsIHdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS91aS5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS91dGlsLmpzLCB3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvdm5jLmpzLAoJd2ViY2xpZW50cy9ub3ZuYy9pbmNsdWRlL3dlYi1zb2NrZXQtanMvUkVBRE1FLnR4dCwKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS93ZWItc29ja2V0LWpzL3N3Zm9iamVjdC5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS93ZWItc29ja2V0LWpzL3dlYl9zb2NrZXQuanMsCgl3ZWJjbGllbnRzL25vdm5jL2luY2x1ZGUvd2Vic29jay5qcywKCXdlYmNsaWVudHMvbm92bmMvaW5jbHVkZS93ZWJ1dGlsLmpzLCB3ZWJjbGllbnRzL25vdm5jL3ZuYy5odG1sLAoJd2ViY2xpZW50cy9ub3ZuYy92bmNfYXV0by5odG1sLCB3ZWJjbGllbnRzL3NzbC9NYWtlZmlsZS5hbSwKCXdlYmNsaWVudHMvc3NsL1JFQURNRSwgd2ViY2xpZW50cy9zc2wvaW5kZXgudm5jLAoJd2ViY2xpZW50cy9zc2wvb25ldGltZWtleSwgd2ViY2xpZW50cy9zc2wvcHJveHkudm5jLAoJd2ViY2xpZW50cy9zc2wvc3Nfdm5jdmlld2VyLAoJd2ViY2xpZW50cy9zc2wvdGlnaHR2bmMtMS4zZGV2N19qYXZhc3JjLXZuY3ZpZXdlci1jdXJzb3ItY29sb3JzK25vLQoJdGFiLXRyYXZlcnNhbC5wYXRjaCwKCXdlYmNsaWVudHMvc3NsL3RpZ2h0dm5jLTEuM2RldjdfamF2YXNyYy12bmN2aWV3ZXItc3NsLnBhdGNoLAoJd2ViY2xpZW50cy9zc2wvdWx0cmEudm5jLCB3ZWJjbGllbnRzL3NzbC91bHRyYXByb3h5LnZuYywKCXdlYmNsaWVudHMvc3NsL3VsdHJhc2lnbmVkLnZuYywKCXdlYmNsaWVudHMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2g6IFJlbmFtZQoJJ2NsYXNzZXMnIGRpciB0byAnd2ViY2xpZW50cycuCgoyMDExLTExLTA5ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBjbGFzc2VzL2luZGV4LnZuYywgbGlidm5jc2VydmVyL2h0dHBkLmM6IG5vdm5jIGNsaWVudDogdXNlIHRoZQoJY2xpZW50J3Mgbm90aW9uIGFib3V0IHRoZSBzZXJ2ZXIgaG9zdG5hbWUgaW5zdGVhZCBvZiB3aGF0IHRoZSBzZXJ2ZXIKCXRoaW5rcy4KCjIwMTEtMTEtMDkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNsYXNzZXMvaW5kZXgudm5jOiBGaXggdGlueSB0eXBvLgoKMjAxMS0xMS0wOSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogTkVXUzogQWRkIDAuOS44LjIgTkVXUyBlbnRyeS4KCjIwMTEtMTEtMDkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jOiBXaGVuIEdldENyZWRlbnRpYWwoKSBjYWxsYmFjayBpcyBub3Qgc2V0LAoJZG9uJ3QgdXNlIGF1dGhlbnRpY2F0aW9ucyByZXF1aXJpbmcgaXQuICBUaGUgYXV0aCBtZXRob2RzIHRoYXQgZW1wbG95IEdldGNyZWRlbnRpYWwoKSB3aWxsIG9ubHkgYmUgdXNlZCBpZgoJdGhlIGNsaWVudCdzIEdldENyZWRlbnRpYWwgY2FsbGJhY2sgaXMgYWN0dWFsbHkgc2V0LgoKMjAxMS0xMC0xMiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogQ2hhbmdlTG9nOiBVcGRhdGUgQ2hhbmdlTG9nIGZvciAwLjkuOC4xLgoKMjAxMS0xMC0xMiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogQ01ha2VMaXN0cy50eHQsIE5FV1MsIGNvbmZpZ3VyZS5hYzogVXBkYXRlIHZlcnNpb24gbnVtYmVyIGluCglhdXRvdG9vbHMgJiYgY21ha2UsIE5FV1MgZW50cnkuCgoyMDExLTEwLTI2ICBQZXRlciBXYXRraW5zIDx3YXRraXBldEBnbWFpbC5jb20+CgoJKiByZmIvcmZiY2xpZW50Lmg6IEFkZGVkIGNvbW1lbnRzLgoKMjAxMS0xMC0yNiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBGaXggZGVhZGxvY2sgaW4gdGhyZWFkZWQgbW9kZSB3aGVuIHVzaW5nCgluZXN0ZWQgcmZiQ2xpZW50SXRlcmF0b3JOZXh0KCkgY2FsbHMuICBMZW5ndGh5IGV4cGxhbmF0aW9uIGZvbGxvd3MuLi4gIEZpcnN0LCB0aGUgc2NlbmFyaW8gYmVmb3JlIHRoaXMgcGF0Y2g6IFdlIGhhdmUgdGhyZWUgY2xpZW50cyAxLDIsMyBjb25uZWN0ZWQuIFRoZSBtYWluIHRocmVhZCBsb29wcyB0aHJvdWdoCgl0aGVtIHVzaW5nIHJmYkNsaWVudEl0ZXJhdG9yTmV4dCgpIChsb29wIEwxKSBhbmQgaXMgY3VycmVudGx5IGF0CgljbGllbnQgMiBpLmUuIGNsaWVudCAyJ3MgY2xfMi0+cmVmQ291bnQgaXMgMS4gQXQgdGhpcyBwb2ludCB3ZSBuZWVkCgl0byBsb29wIGFnYWluIHRocm91Z2ggdGhlIGNsaWVudHMsIHdpdGggY2xfMi0+cmVmQ291bnQgPT0gMSwgaS5lLiBkbwoJYSBsb29wIEwyIG5lc3RlZCB3aXRoaW4gbG9vcCBMMS4gIEJVVDogTm93IGNsaWVudCAyIGRpc2Nvbm5lY3RzLCBpdCdzIGNsaWVudElucHV0IHRocmVhZCB0ZXJtaW5hdGVzCglpdHMgY2xpZW50T3V0cHV0IHRocmVhZCBhbmQgY2FsbHMgcmZiQ2xpZW50Q29ubmVjdGlvbkdvbmUoKS4gVGhpcwoJTE9DS3MgY2xpZW50TGlzdE11dGV4IGFuZCBXQUlUcyBmb3IgY2xfMi0+cmVmQ291bnQgdG8gYmVjb21lIDAuIFRoaXMKCW1lYW5zIHRoaXMgdGhyZWFkIHdhaXRzIGZvciB0aGUgbWFpbiB0aHJlYWQgdG8gcmVsZWFzZSBjbF8yLgoJV2FpdGluZywgd2l0aCBjbGllbnRMaXN0TXV0ZXggTE9DS2VkISBNZWFud2hpbGUsIHRoZSBtYWluIHRocmVhZCBpcyBhYm91dCB0byBiZWdpbiB0aGUgaW5uZXIKCXJmYkNsaWVudEl0ZXJhdG9yTmV4dCgpIGxvb3AgTDIuIFRoZSBmaXJzdCBjYWxsIHRvCglyZmJDbGllbnRJdGVyYXRvck5leHQoKSBMT0NLcyBjbGllbnRMaXN0TXV0ZXguIEJBQU0uIFRoaXMgbXV0ZXggaXMKCWxvY2tlZCBieSBjbDIncyBjbGllbnRJbnB1dCB0aHJlYWQgYW5kIGlzIG9ubHkgcmVsZWFzZWQgd2hlbgoJY2xfMi0+cmVmQ291bnQgYmVjb21lcyAwLiBUaGUgbWFpbiB0aHJlYWQgd291bGQgZGVjcmVtZW50CgljbF8yLT5yZWZDb3VudCB3aGVuIGl0IHdvdWxkIGNvbnRpbnVlIHdpdGggbG9vcCBMMS4gQnV0IGl0J3Mgd2FpdGluZwoJZm9yIGNsMidzIGNsaWVudElucHV0IHRocmVhZCB0byByZWxlYXNlIGNsaWVudExpc3RNdXRleC4gV2hpY2ggbmV2ZXIKCWhhcHBlbnMgc2luY2UgdGhpcyBvbmUncyB3YWl0aW5nIGZvciB0aGUgbWFpbiB0aHJlYWQgdG8gZGVjcmVtZW50CgljbF8yLT5yZWZDb3VudC4gREVBRExPQ0suICBOb3csIHNpdHVhdGlvbiB3aXRoIHRoaXMgcGF0Y2g6IFNhbWUgYXMgYWJvdmUsIGJ1dCB3aGVuIGNsaWVudCAyIGRpc2Nvbm5lY3RzIGl0J3MgY2xpZW50SW5wdXQgdGhyZWFkCglyZmJDbGllbnRDb25uZWN0aW9uR29uZSgpLiBUaGlzIGFnYWluIExPQ0tzIGNsaWVudExpc3RNdXRleCwgcmVtb3ZlcwoJY2xfMiBmcm9tIHRoZSBsaW5rZWQgbGlzdCBhbmQgVU5MT0NLUyBjbGllbnRMaXN0TXV0ZXguIFRoZSBXQUlUIGZvcgoJY2xfMi0+cmVmQ291bnQgdG8gYmVjb21lIDAgaXMgX2FmdGVyXyB0aGF0LiBXYWl0aW5nLCB3aXRoCgljbGllbnRMaXN0TXV0ZXggVU5MT0NLZWQhIFRoZXJlZm9yZSwgdGhlIG1haW4gdGhyZWFkIGNhbiBjb250aW51ZSwgZG8gdGhlIGlubmVyIGxvb3AgTDIgKG5vdwoJb25seSBsb29waW5nIHRocm91Z2ggMSwzIC0gMiB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBsaW5rZWQgbGlzdCkgYW5kCgljb250aW51ZSB3aXRoIGxvb3AgTDEsIGZpbmFsbHkgZGVjcmVtZW50aW5nIGNsXzItPnJlZkNvdW50LCBhbGxvd2luZwoJY2wyJ3MgY2xpZW50SW5wdXQgdGhyZWFkIHRvIGNvbnRpbnVlIGFuZCB0ZXJtaW5hdGUuIFRoZSByZXNvdXJjZXMKCWhlbGQgYnkgY2wyIGFyZSBub3QgZnJlZSgpJ2QgYnkgcmZiQ2xpZW50Q29ubmVjdGlvbkdvbmUgdW50aWwKCWNsMi0+cmVmQ291bnQgYmVjb21lcyAwLCBpLmUuIGxvb3AgTDEgaGFzIHJlbGVhc2VkIGNsMi4KCjIwMTEtMTAtMTYgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogQVVUSE9SUzogVXBkYXRlIEFVVEhPUlMgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDExLTEwLTE2ICBHZW9yZ2UgRmxldXJ5IDxnZmxldXJ5QGdtYWlsLmNvbT4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogRml4IG1lbW9yeSBsZWFrIEkgd2FzIGRlYmJ1Z2luZyBzb21lIGNvZGUgdG9uaWdodCBhbmQgaSBmb3VuZCBhIHBvaW50ZXIgdGhhdCBpcyBub3QKCWJlZW4gZnJlZWQsIHNvIGkgdGhpbmsgdGhlcmUgaXMgbWF5YmUgYSBtZW1vcnkgbGVhaywgc28gaXQgaXMuLi4gIHRoZXJlIGlzIHRoZSBtYWxsb2MgY2FsbGVyIHJldmVyc2Ugb3JkZXI6ICggbWFsbG9jIGNsLT5zdGF0RW5jTGlzdCApIAk8LSByZmJTdGF0TG9va3VwRW5jb2RpbmcgCTwtIHJmYlN0YXRSZWNvcmRFbmNvZGluZ1NlbnQgCTwtIHJmYlNlbmRDdXJzb3JQb3MgCTwtIHJmYlNlbmRGcmFtZWJ1ZmZlclVwZGF0ZSAJPC0gcmZiUHJvY2Vzc0V2ZW50cyBJIGRpZG50IGxvb2sgdGhlIHdob2xlIGxpYnZuY3NlcnZlciBhcGksIGJ1dCBpIGFtIHVzaW5nCglyZmJSZXZlcnNlQ29ubmVjdGlvbiB3aXRoIHJmYlByb2Nlc3NFdmVudHMsIGFuZCB0aGVuIHdoZW4gdGhlIGNsaWVudAoJY29ubmVjdGlvbiBkaWVzLCBpIGFtIGNhbGxpbmcgYSByZmJTaHV0ZG93blNlcnZlciBhbmQKCXJmYlNjcmVlbkNsZWFudXAsIGJ1dCB0aGUgbWFsbG9jIGF0IHJmYlN0YXRMb29rdXBFbmNvZGluZyBpc250IGJlZW4KCWZyZWVkLiAgU28gdG8gZnJlZSB0aGUgc3RhdHMgaSBhZGRlZCBhIHJmYlJlc2V0U3RhdHMoY2wpIGFmdGVyCglyZmJQcmludFN0YXRzKGNsKSBhdCByZmJDbGllbnRDb25uZWN0aW9uR29uZSBpbiByZmJzZXJ2ZXIuYyBiZWZvcmUKCWZyZWUgdGhlIGNsIHBvaW50ZXIuIChhdCByZmJzZXJ2ZXIuYyBsaW5lIDU1NSkuIEFuZCB0aGlzLCBvYnZpb3VzbHksCglpcyBjb3JyZWN0aW5nIHRoZSBtZW1vcnkgbGVhay4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMS0xMC0wOCAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiByZmIvcmZiY2xpZW50Lmg6IEhvcGVmdWxseSBmaXggdGhlIGNyYXNoIHdoZW4gdXBkYXRpbmcgZnJvbSAwLjkuNwoJb3IgZWFybGllciBGb3IgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkgcmVhc29ucywgd2UgY2FuIG9ubHkgYWRkIHN0cnVjdCBtZW1iZXJzCgl0byB0aGUgZW5kLiBUaGF0IHdheSwgZXhpc3RpbmcgY2FsbGVycyBzdGlsbCBjYW4gdXNlIG5ld2VyCglsaWJyYXJpZXMsIGFzIHRoZSBzdHJ1Y3RzIGFyZSBhbHdheXMgYWxsb2NhdGVkIGJ5IHRoZSBsaWJyYXJ5IChhbmQKCXRoZXJlZm9yZSBndWFyYW50ZWVkIHRvIGhhdmUgdGhlIGNvcnJlY3Qgc2l6ZSkgYW5kIHN0aWxsIHJlbHkgb24gdGhlCglzYW1lIHBvc2l0aW9uIG9mIHRoZSBwYXJ0cyB0aGUgY2FsbGVycyBrbm93IGFib3V0LiAgUmVwb3J0ZWQgYnkgTHVjYSBGYWxhdmlnbmEuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTEtMTAtMDkgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBTREx2bmN2aWV3ZXI6IG1ha2UgaXQgcmVzaXphYmxlIGJ5CglkZWZhdWx0IEkgZ290IGFubm95ZWQgaGF2aW5nIHRvIHNwZWNpZnkgLXJlc2l6YWJsZSBhbGwgdGhlIHRpbWU7IEkgbmV2ZXIgdXNlCglpdCBpbiBhbm90aGVyIG1vZGUgYW55bW9yZSwgc2luY2UgSSBhbSBvbiBhIG5ldGJvb2suICBUaGUgb3B0aW9uIC1uby1yZXNpemFibGUgd2FzIGFkZGVkIHRvIGJlIGFibGUgdG8gc3dpdGNoIG9mZiB0aGF0CglmZWF0dXJlLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDExLTEwLTA2ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvaHR0cGQuYzogaHR0cGQ6IGZpeCBzZW5kaW5nIG9mIGJpbmFyeSBkYXRhIHN1Y2ggYXMKCWltYWdlcy4gIFdlIGRvIHRoaXMgc2ltcGx5IGJ5IG9taXR0aW5nIHRoZSBjb250ZW50LXR5cGUgYW5kIGxldCB0aGUgYnJvd3NlcgoJZGVjaWRlIHVwb24gdGhlIG1pbWUtdHlwZSBvZiB0aGUgc2VudCBmaWxlLiBPbmx5IGV4Y2VwdGlvbiBpcwoJJ2luZGV4LnZuYycsIHdoZXJlIHdlIGRvIHNldCB0aGUgY29udGVudC10eXBlIHNpbmNlIHNvbWUgYnJvd3NlcnMKCWZhaWwgdG8gZGV0ZWN0IGl0J3MgaHRtbCB3aGVuIGl0J3MgZW5kaW5nIGluICcudm5jJyBBbHNvLCByZW1vdmUgc3VwZXJmbHVvdXMgI2RlZmluZXMuIFdlIGNsb3NlIHRoZSBjb25uZWN0aW9uIGFsd2F5cy4KCjIwMTEtMTAtMDYgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNsYXNzZXMvaW5kZXgudm5jOiBGaXggdHlwbyAmJiB1c2UgcHJvcGVyIHdlYnNpdGUuCgoyMDExLTEwLTA0ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBjbGFzc2VzL2luZGV4LnZuYywgY2xhc3Nlcy9ub3ZuYy9MSUNFTlNFLnR4dCwKCWNsYXNzZXMvbm92bmMvUkVBRE1FLm1kLCBjbGFzc2VzL25vdm5jL2Zhdmljb24uaWNvLAoJY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL2Jhc2UuY3NzLCBjbGFzc2VzL25vdm5jL2luY2x1ZGUvYmFzZTY0LmpzLAoJY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL2JsYWNrLmNzcywgY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL2JsdWUuY3NzLAoJY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL2Rlcy5qcywgY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL2Rpc3BsYXkuanMsCgljbGFzc2VzL25vdm5jL2luY2x1ZGUvaW5wdXQuanMsIGNsYXNzZXMvbm92bmMvaW5jbHVkZS9sb2dvLmpzLAoJY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL3BsYXliYWNrLmpzLCBjbGFzc2VzL25vdm5jL2luY2x1ZGUvcmZiLmpzLAoJY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL3VpLmpzLCBjbGFzc2VzL25vdm5jL2luY2x1ZGUvdXRpbC5qcywKCWNsYXNzZXMvbm92bmMvaW5jbHVkZS92bmMuanMsCgljbGFzc2VzL25vdm5jL2luY2x1ZGUvd2ViLXNvY2tldC1qcy9SRUFETUUudHh0LAoJY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL3dlYi1zb2NrZXQtanMvc3dmb2JqZWN0LmpzLAoJY2xhc3Nlcy9ub3ZuYy9pbmNsdWRlL3dlYi1zb2NrZXQtanMvd2ViX3NvY2tldC5qcywKCWNsYXNzZXMvbm92bmMvaW5jbHVkZS93ZWJzb2NrLmpzLCBjbGFzc2VzL25vdm5jL2luY2x1ZGUvd2VidXRpbC5qcywKCWNsYXNzZXMvbm92bmMvdm5jLmh0bWwsIGNsYXNzZXMvbm92bmMvdm5jX2F1dG8uaHRtbCwKCWxpYnZuY3NlcnZlci9odHRwZC5jOiBBZGQgbm9WTkMgSFRNTDUgY2xpZW50IGNvbm5lY3QgcG9zc2liaWxpdHkgdG8KCW91ciBodHRwIHNlcnZlci4gIFB1cmUgSmF2YVNjcmlwdCwgbm8gSmF2YSBwbHVnaW4gcmVxdWlyZWQgYW55bW9yZSEgKEJ1dCBhIHJlY2VudAoJYnJvd3Nlci4uLikKCjIwMTEtMTAtMDQgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzogVGhpcyBidWlsZCB3YXJuaW5nIGlzIGEgbGlidm5jc2VydmVyIG9uZSwgbm90IGZvcgoJeDExdm5jLiAgQWxzbywgbWFrZSBpdCB3YXJuIG1vcmUgZ2VuZXJhbGx5IHdoZW4gbm8ga25vd24gZW5jcnlwdGlvbiBsaWIgaXMKCWF2YWlsYWJsZS4KCjIwMTEtMDktMjEgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3RAdGVuY2hpby5kZT4KCgkqIGNvbW1vbi9tZDUuYzogbWQ1OiBmb3JjZWQgdG8gdXNlIGZ1bmN0aW9uIG5hbWVzIHdpdGggbGVhZGluZwoJdW5kZXJzY29yZXMgQ29tbWVudGVkIG91dCB0aGUgc3Vycm91bmRpbmcgJyNpZmRlZiBfTElCQycgdG8gYnVpbGQgbWQ1Lm8gd2l0aAoJbGVhZGluZyB1bmRlcnNjb3Jlcy4gVGhpcyBpcyByZXF1aXJlZCB0byBtYXRjaCB0aGUgcHJvdG90eXBlcwoJZGVmaW5lZCBpbiBtZDUuaC4KCjIwMTEtMDktMjAgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3QudGVuY2hpb0BzZWN1cmVwb2ludC5kZT4KCgkqIGxpYnZuY3NlcnZlci9yZmJjcnlwdG9faW5jbHVkZWQuYzogcmZiY3J5cHRvX2luY2x1ZGVkOiBmaXggYyZwCgllcnJvcnMKCjIwMTEtMDktMjAgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3RAdGVuY2hpby5kZT4KCgkqIGxpYnZuY3NlcnZlci9yZmJjcnlwdG9fcG9sYXJzc2wuYzogcmZiY3J5cHRvX3BvbGFyc3NsOiBpdCB3YXMgd2F5Cgl0byBsYXRlIGxhc3QgbmlnaHQuLi4KCjIwMTEtMDktMTggIEdlcm5vdCBUZW5jaGlvIDxnZXJub3RAdGVuY2hpby5kZT4KCgkqIGxpYnZuY3NlcnZlci9NYWtlZmlsZS5hbSwgbGlidm5jc2VydmVyL3JmYmNyeXB0by5oLAoJbGlidm5jc2VydmVyL3JmYmNyeXB0b19nbnV0bHMuYywgbGlidm5jc2VydmVyL3JmYmNyeXB0b19pbmNsdWRlZC5jLAoJbGlidm5jc2VydmVyL3JmYmNyeXB0b19vcGVuc3NsLmMsCglsaWJ2bmNzZXJ2ZXIvcmZiY3J5cHRvX3BvbGFyc3NsLmMsIGxpYnZuY3NlcnZlci93ZWJzb2NrZXRzLmM6IEFkZAoJc3VwcG9ydCBmb3IgZGlmZmVyZW50IGNyeXB0byBpbXBsZW1lbnRhdGlvbnMKCjIwMTEtMDktMTEgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYywgbGlidm5jc2VydmVyL01ha2VmaWxlLmFtOiBBdXRvdG9vbHM6IEZpeCBPcGVuU1NMIGFuZAoJR251VExTIGFkdmVydGlzZW1lbnQuCgoyMDExLTA5LTExICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic3NsX2dudXRscy5jOiBGaXggbGlidm5jc2VydmVyIEdudVRMUyBpbml0LiAgZ251dGxzX2NlcnRpZmljYXRlX3NldF94NTA5X3RydXN0X2ZpbGUoKSByZXR1cm5zIHRoZSBudW1iZXIgb2YKCXByb2Nlc3NlZCBjZXJ0cyBhbmQgX25vdF8gR05VVExTX0VfU1VDQ0VTUyAoMCkgb24gc3VjY2VzcyEKCjIwMTEtMDktMTEgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIEFVVEhPUlMsIGxpYnZuY3NlcnZlci93ZWJzb2NrZXRzLmM6IFVwZGF0ZSBBVVRIT1JTIHJlZ2FyZGluZyB0aGUKCXdlYnNvY2tldCBndXlzLgoKMjAxMS0wOC0yOCAgR2Vybm90IFRlbmNoaW8gPGdlcm5vdEB0ZW5jaGlvLmRlPgoKCSogY29uZmlndXJlLmFjOiBjb25maWd1cmU6IEFkZCBBTV9TSUxFTlRfUlVMRVMgV29ya2luZyB3aXRoIOKAnHNpbGVudCBtYWtlIG1vZGXigJ0gbWFrZXMgZGVidWdnaW5nIGEgbG90IG9mIGVhc2llcgoJc2luY2Ugd2FybmluZ3Mgd29udCBzaGFkb3dlZCBieSB1c2VsZXNzIGNvbXBpbGVyIG5vaXNlCgoyMDExLTA4LTI3ICBHZXJub3QgVGVuY2hpbyA8Z2Vybm90QHRlbmNoaW8uZGU+CgoJKiBDTWFrZUxpc3RzLnR4dDogY21ha2U6IHNldCBTT1ZFUlNJT04KCjIwMTEtMDktMTEgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYywgbGlidm5jc2VydmVyL01ha2VmaWxlLmFtOiBBdXRvdG9vbHM6IEZpeCBPcGVuU1NMIGFuZAoJR251VExTIGFkdmVydGlzZW1lbnQuCgoyMDExLTA5LTExICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic3NsX2dudXRscy5jOiBGaXggbGlidm5jc2VydmVyIEdudVRMUyBpbml0LiAgZ251dGxzX2NlcnRpZmljYXRlX3NldF94NTA5X3RydXN0X2ZpbGUoKSByZXR1cm5zIHRoZSBudW1iZXIgb2YKCXByb2Nlc3NlZCBjZXJ0cyBhbmQgX25vdF8gR05VVExTX0VfU1VDQ0VTUyAoMCkgb24gc3VjY2VzcyEKCjIwMTEtMDktMTEgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIEFVVEhPUlMsIGxpYnZuY3NlcnZlci93ZWJzb2NrZXRzLmM6IFVwZGF0ZSBBVVRIT1JTIHJlZ2FyZGluZyB0aGUKCXdlYnNvY2tldCBndXlzLgoKMjAxMS0wOS0wMiAgR2Vybm90IFRlbmNoaW8gPGdlcm5vdEB0ZW5jaGlvLmRlPgoKCSogbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYzogd2Vic29ja2V0OiBVc2UgYSBzaW5nbGUgYnVmZmVyIGZvcgoJYm90aCwgZW5jb2RpbmcgYW5kIGRlY29kaW5nCgoyMDExLTA4LTMwICBHZXJub3QgVGVuY2hpbyA8Z2Vybm90LnRlbmNoaW9Ac2VjdXJlcG9pbnQuZGU+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic3NsX2dudXRscy5jOiByZmJzc2xfZ251dGxzOiBNZXJnZQoJcmZic3NsX3BlZWsvcmZic3NsX3JlYWQgaW50byBvbmUgZnVuY3Rpb24KCjIwMTEtMDgtMzAgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3QudGVuY2hpb0BzZWN1cmVwb2ludC5kZT4KCgkqIGxpYnZuY3NlcnZlci93ZWJzb2NrZXRzLmM6IHdlYnNvY2tldHM6IGZpeAoJd2ViU29ja2V0Q2hlY2tEaXNjb25uZWN0KCkgRG8gbm90IGNvbnN1bWUgdGhlIHBlZWtlZCBkYXRhIGlmIG5vIGNsb3NlIGZyYW1lIHdhcyBkZXRlY3RlZC4KCjIwMTEtMDgtMjkgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3QudGVuY2hpb0BzZWN1cmVwb2ludC5kZT4KCgkqIGxpYnZuY3NlcnZlci93ZWJzb2NrZXRzLmM6IHdlYnNvY2tldHM6IHVzZSAzMmJpdCBYb3IgaW4KCXdlYlNvY2tldHNEZWNvZGVIeWJpKCkKCjIwMTEtMDgtMjkgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3QudGVuY2hpb0BzZWN1cmVwb2ludC5kZT4KCgkqIENNYWtlTGlzdHMudHh0OiBjbWFrZTogdXNlIHNoYTEuYyBmb3Igd2Vic29ja2V0IGJ1aWxkcwoKMjAxMS0wOC0yNSAgR2Vybm90IFRlbmNoaW8gPGdlcm5vdEB0ZW5jaGlvLmRlPgoKCSogbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYzogd2Vic29ja2V0czogbm90aGluZyB0byB3b3JyeSBhYm91dAoKMjAxMS0wOC0yNSAgR2Vybm90IFRlbmNoaW8gPGdlcm5vdEB0ZW5jaGlvLmRlPgoKCSogbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYzogd2Vic29ja2V0czogYWRkZWQgZ2NyeXB0IGJhc2VkIHNoYTEKCWRpZ2VzdCBmdW50aW9uCgoyMDExLTA4LTI1ICBKb2VsIE1hcnRpbiA8am1hcnRpbkBzZW50cnlkcy5jb20+CgoJKiBjb21tb24vc2hhMS5jLCBjb21tb24vc2hhMS5oLCBsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW0sCglsaWJ2bmNzZXJ2ZXIvd2Vic29ja2V0cy5jOiBBZGQgc2hhMS4qLiBSZW1vdmUgVVRGLTggZW5jb2RlLiBQcm90b2NvbAoJaGFuZGxpbmcuICBBZGQgY29tbW9uL3NoYTEuaCBhbmQgY29tbW9uL3NoYTEuYyBzbyB0aGF0IHdlIGhhdmUgdGhlIFNIQSByb3V0aW5lcwoJZXZlbiBpZiBvcGVuc3NsIGlzIG5vdCBhdmFpbGFibGUuIEZyb20gdGhlIElFVEYgU0hBIFJGQyBleGFtcGxlCgljb2RlLiAgUmVtb3ZlIHRoZSBVVEYtOCBlbmNvZGluZyBoYWNrLiBUaGlzIHdhcyByZWFsbHkganVzdCBhbiBleHBlcmltZW50LiAgSWYgdGhlIHByb3RvY29sIHBhc3NlZCBpbiB0aGUgaGFuZHNoYWtlIGhhcyAiYmluYXJ5IiB0aGVuIGRvbid0CgliYXNlNjQgZW5jb2RlIGZvciB0aGUgSHlCaSBwcm90b2NvbC4gVGhpcyB3aWxsIGFsbG93IG5vVk5DIHRvCglyZXF1ZXN0IHRoZSBiaW5hcnkgZGF0YSBiZSBwYXNzZWQgcmF3IGFuZCBub3QgYmFzZTY0IGVuY29kZWQuCglVbmZvcnR1bmF0ZWx5LCB0aGUgY2xpZW50IGRvZXNuJ3Qgc3BlYWsgZmlyc3QgaW4gVk5DIHByb3RvY29sIChiYWQKCW9yaWdpbmFsIGRlc2lnbikuIElmIGl0IGRpZCB0aGVuIHdlIGNvdWxkIGRldGVybWluZSB3aGV0aGVyIHRvCgliYXNlNjQgZW5jb2RlIG9yIG5vdCBiYXNlZCBvbiB0aGUgZmlyc3QgSHlCaSBmcmFtZSBmcm9tIHRoZSBjbGllbnQKCWFuZCB3aGV0aGVyIHRoZSBiaW5hcnkgYml0IGlzIHNldCBvciBub3QuIE9oIHdlbGwuICBNaXNjIENsZWFudXA6IC0gQWx3YXlzIGZyZWUgcmVzcG9uc2UgYW5kIGJ1ZiBpbiBoYW5kc2hha2Ugcm91dGluZS4gIC0gUmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcy4KCjIwMTEtMDgtMjUgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3RAdGVuY2hpby5kZT4KCgkqIENNYWtlTGlzdHMudHh0OiBjbWFrZTogbWFrZSBzb21lIG5vaXNlCgoyMDExLTA4LTI1ICBHZXJub3QgVGVuY2hpbyA8Z2Vybm90QHRlbmNoaW8uZGU+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic3NsX2dudXRscy5jOiB3ZWJzb2NrZXRzOiByZW1vdmUgd2FybmluZyBvbiA2NGJpdAoJcGxhdGZvcm1zCgoyMDExLTA4LTI1ICBHZXJub3QgVGVuY2hpbyA8Z2Vybm90LnRlbmNoaW9Ac2VjdXJlcG9pbnQuZGU+CgoJKiBsaWJ2bmNzZXJ2ZXIvd2Vic29ja2V0cy5jOiB3ZWJzb2NrZXRzOiBSZW1vdmVkIGRlYnVnZ2luZyBsZWZ0IG92ZXIKCjIwMTEtMDgtMjUgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3QudGVuY2hpb0BzZWN1cmVwb2ludC5kZT4KCgkqIGxpYnZuY3NlcnZlci93ZWJzb2NrZXRzLmM6IHdlYnNvY2tldHM6IFVzZSBjYWxsYmFjayBmdW5jdGlvbnMgZm9yCgllbmNvZGUvZGVjb2RlCgoyMDExLTA4LTI1ICBHZXJub3QgVGVuY2hpbyA8Z2Vybm90LnRlbmNoaW9Ac2VjdXJlcG9pbnQuZGU+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIGxpYnZuY3NlcnZlci9zb2NrZXRzLmMsCglsaWJ2bmNzZXJ2ZXIvd2Vic29ja2V0cy5jLCByZmIvcmZiLmg6IHdlYnNvY2tldHM6IE1vdmUgSGl4aWUKCWRpc2Nvbm5lY3QgaGFjayB0byB3ZWJzb2NrZXRzLmMgTW92ZSB0aGUgaGl4aWUgZGlzY29ubmVjdCBoYWNrIHRvIHdlYnNvY2tldHMuYy4gUmVtb3ZlZCB0aGUKCXJlbWFpbmluZyB3ZWJzb2NrZXRzIHZhcnMgZnJvbSByZmJDbGllbnRQdHIsIHNvIGFsbCB3ZWJzb2NrZXRzIHN0dWZmCglpcyBoaWRkZW4gYmVoaW5kIGFuIG9wYXF1ZSBwb2ludGVyLgoKMjAxMS0wOC0yNSAgR2Vybm90IFRlbmNoaW8gPGdlcm5vdC50ZW5jaGlvQHNlY3VyZXBvaW50LmRlPgoKCSogbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jLAoJbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYywgcmZiL3JmYi5oOiB3ZWJzb2NrZXRzOiBJbml0aWFsIEh5QmkKCXN1cHBvcnQKCjIwMTEtMDgtMTYgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3QudGVuY2hpb0BzZWN1cmVwb2ludC5kZT4KCgkqIENNYWtlTGlzdHMudHh0OiBjbWFrZTogZG9uJ3QgbGluayBzZGwgbGlicyB0byB2bmMgbGlicmFyaWVzIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMS0wOC0xNiAgR2Vybm90IFRlbmNoaW8gPGdlcm5vdC50ZW5jaGlvQHNlY3VyZXBvaW50LmRlPgoKCSogbGlidm5jc2VydmVyL3NvY2tldHMuYywgbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYywgcmZiL3JmYi5oOiAKCXdlYnNvY2tldHM6IEFkZCB3c3BhdGggbWVtYmVyIHRvIHJmYkNsaWVudFJlYyBBZGRlZCB3c3BhdGggbWVtYmVyIHRvIHJmYkNsaWVudFJlYyB3aGljaCBob2xkcyB0aGUgcGF0aCBjb21wb25lbnQKCW9mIHRoZSBpbml0aWFsIHdlYnNvY2tldCByZXF1ZXN0LiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDExLTA4LTE2ICBHZXJub3QgVGVuY2hpbyA8Z2Vybm90LnRlbmNoaW9Ac2VjdXJlcG9pbnQuZGU+CgoJKiBDTWFrZUxpc3RzLnR4dCwgY29tbW9uL21kNS5jLCBjb21tb24vbWQ1LmgsCglsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW0sIGxpYnZuY3NlcnZlci9tZDUuYywgbGlidm5jc2VydmVyL21kNS5oOiAKCU1vdmUgbGlidm5jc2VydmVyL21kNSogdG8gY29tbW9uIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMS0wOC0xNiAgR2Vybm90IFRlbmNoaW8gPGdlcm5vdC50ZW5jaGlvQHNlY3VyZXBvaW50LmRlPgoKCSogQ01ha2VMaXN0cy50eHQsIHJmYi9yZmJjb25maWcuaC5jbWFrZTogd2Vic29ja2V0czogQWRkIFdlYnNvY2tldHMKCXN1cHBvcnQgdG8gQ01ha2VMaXN0cy50eHQgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDExLTA4LTE2ICBKb2VsIE1hcnRpbiA8Z2l0aHViQG1hcnRpbnRyaWJlLm9yZz4KCgkqIGxpYnZuY3NlcnZlci9NYWtlZmlsZS5hbSwgbGlidm5jc2VydmVyL2NhcmdzLmM6IHdlYnNvY2tldHM6IEFkZAoJU1NMIGNlcnQgY29tbWFuZCBsaW5lIG9wdGlvbnMuICAtIEFkZCAtLXNzbGNlcnRmaWxlIGFuZCAtLXNzbGtleWZpbGUuIFRoZXNlIHNob3VsZCByZWFsbHkgYmUKCSAgY29tYmluZWQgd2l0aCB0aGUgZXhpc3RpbmcgeDExdm5jIGNvbW1hbmQgbGluZSBvcHRpb25zIGZvciBTU0wKCXN1cHBvcnQuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTEtMDgtMTcgIEdlcm5vdCBUZW5jaGlvIDxnZXJub3QudGVuY2hpb0BzZWN1cmVwb2ludC5kZT4KCgkqIGNvbmZpZ3VyZS5hYywgbGlidm5jc2VydmVyL01ha2VmaWxlLmFtLAoJbGlidm5jc2VydmVyL3JmYnNzbF9nbnV0bHMuYywgbGlidm5jc2VydmVyL3JmYnNzbF9vcGVuc3NsLmM6IAoJd2Vic29ja2V0czogYWRkIEdudVRMUyBhbmQgT3BlblNTTCBzdXBwb3J0IEZvciBub3csIG9ubHkgT3BlblNTTCBzdXBwb3J0IGlzIGFjdGl2YXRlZCB0aHJvdWdoIGNvbmZpZ3VyZSwgc2luY2UKCUdudVRMUyBpcyBvbmx5IHVzZWQgaW4gTGliVk5DQ2xpZW50LiAgW2plczogc2VwYXJhdGVkIHRoaXMgb3V0IGZyb20gdGhlIGNvbW1pdCBhZGRpbmcgZW5jcnlwdGlvbiBzdXBwb3J0LAoJYWRkZWQgYXV0b2NvbmYgc3VwcG9ydC5dIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMS0wOC0xNiAgR2Vybm90IFRlbmNoaW8gPGdlcm5vdC50ZW5jaGlvQHNlY3VyZXBvaW50LmRlPgoKCSogbGlidm5jc2VydmVyL01ha2VmaWxlLmFtLCBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsCglsaWJ2bmNzZXJ2ZXIvcmZic3NsLmgsIGxpYnZuY3NlcnZlci9yZmJzc2xfbm9uZS5jLAoJbGlidm5jc2VydmVyL3NvY2tldHMuYywgbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYywgcmZiL3JmYi5oOiAKCXdlYnNvY2tldHM6IEFkZCBlbmNyeXB0aW9uIHN1cHBvcnQgW2plczogbW92ZWQgb3V0IEdudVRMUyBhbmQgT3BlblNTTCBzdXBwb3J0LCBhZGRlZCBhIGR1bW15IHN1cHBvcnQsCgl0byBzZXBhcmF0ZSBjaGFuZ2VzIGJldHRlciwgYW5kIHRvIGtlZXAgdGhpbmdzIGNvbXBpbGluZ10gU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDExLTA4LTE2ICBKb2VsIE1hcnRpbiA8am1hcnRpbkBzZW50cnlkcy5jb20+CgoJKiBsaWJ2bmNzZXJ2ZXIvd2Vic29ja2V0cy5jOiB3ZWJzb2NrZXRzOiBQcm9wZXJseSBwYXJzZSBIaXhpZS03NgoJaGFuZHNoYWtlLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDExLTA4LTE2ICBKb2VsIE1hcnRpbiA8Z2l0aHViQG1hcnRpbnRyaWJlLm9yZz4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYzogd2Vic29ja2V0czoKCUFkZCBVVEYtOCBlbmNvZGluZyBzdXBwb3J0LiAgVGhpcyBpcyBub3QgY29tcGxldGVseSBzdGFuZGFyZCBVVEYtOCBlbmNvZGluZy4gT25seSBjb2RlIHBvaW50cwoJMC0yNTUgYXJlIGVuY29kZWQgYW5kIG5ldmVyIGVuY29kZWQgdG8gbW9yZSB0aGFuIHR3byBvY3RldHMuIFNpbmNlCgknXHgwMCcgaXMgYSBXZWJTb2NrZXRzIGZyYW1pbmcgY2hhcmFjdGVyLCBpdCdzIGVhc2llciBmb3IgYWxsCglwYXJ0aWVzIHRvIGVuY29kZSB6ZXJvIGFzICdceGM0XHg4MCcsIGkuZS4gMTk0KzEyOCwgaS5lLiBVVEYtOCAyNTYuICBUaGlzIG1lYW5zIHRoYXQgYSByYW5kb20gc3RyZWFtIHdpbGwgYmUgc2xpZ2h0bHkgbW9yZSB0aGFuIDUwJQoJbGFyZ2VyIHVzaW5nIHRoaXMgZW5jb2Rpbmcgc2NoZW1lLiBCdXQgaXQncyBlYXN5IENQVS13aXNlIGZvciBjbGllbnQKCWFuZCBzZXJ2ZXIgdG8gZGVjb2RlL2VuY29kZS4gVGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCBmb3IKCWNsaWVudHMgd3JpdHRlbiBpbiBsYW5ndWFnZXMgdGhhdCBoYXZlIHdlYWsgYml0b3BzLCBsaWtlIEphdmFzY3JpcHQKCShpLmUuIHRoZSBub1ZOQyBjbGllbnQpLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDExLTA4LTE2ICBKb2VsIE1hcnRpbiA8Z2l0aHViQG1hcnRpbnRyaWJlLm9yZz4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogd2Vic29ja2V0czogQmV0dGVyIGRpc2Nvbm5lY3QgZGV0ZWN0aW9uLiAgSWYgdGhlIG9ubHkgdGhpbmcgd2UgYXJlIHdhaXRpbmcgb24gaXMgYSBXZWJTb2NrZXRzIHRlcm1pbmF0b3IsIHRoZW4KCXJlbW92ZSBpdCBmcm9tIHRoZSBzdHJlYW0gZWFybHkgb24gaW4gcmZiUHJvY2Vzc0NsaWVudE5vcm1hbE1lc3NhZ2UuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTEtMDgtMTYgIEpvZWwgTWFydGluIDxnaXRodWJAbWFydGludHJpYmUub3JnPgoKCSogY29uZmlndXJlLmFjLCBsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW0sIGxpYnZuY3NlcnZlci9tZDUuYywKCWxpYnZuY3NlcnZlci9tZDUuaCwgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLAoJbGlidm5jc2VydmVyL3NvY2tldHMuYywgbGlidm5jc2VydmVyL3dlYnNvY2tldHMuYywgcmZiL3JmYi5oOiAKCXdlYnNvY2tldHM6IEluaXRpYWwgV2ViU29ja2V0cyBzdXBwb3J0LiAgSGFzIGEgYnVnOiBXZWJTb2NrZXQgY2xpZW50IGRpc2Nvbm5lY3RzIGFyZSBub3QgZGV0ZWN0ZWQuCglyZmJTZW5kRnJhbWVidWZmZXJVcGRhdGUgaXMgZG9pbmcgYSBNU0dfUEVFSyByZWN2IHRvIGRldGVybWluZSBpZgoJZW5vdWdoIGRhdGEgaXMgYXZhaWxhYmxlIHdoaWNoIHByZXZlbnRzIGEgZGlzY29ubmVjdCBmcm9tIGJlaW5nCglkZXRlY3RlZC4gIE90aGVyd2lzZSBpdCdzIHdvcmtpbmcgcHJldHR5IHdlbGwuICBbamVzOiBtb3ZlZCBhZGRlZCBzdHJ1Y3QgbWVtYmVycyB0byB0aGUgZW5kIGZvciBiaW5hcnkgY29tcGF0aWJpbGl0eQoJd2l0aCBwcmV2aW91cyBMaWJWTkNTZXJ2ZXIgdmVyc2lvbnMsIHJlbW92ZWQgYW4gdW51c2VkIHZhcmlhYmxlXSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTEtMDgtMTcgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogLmdpdGlnbm9yZTogLmdpdGlnbm9yZTogemlwcHkgaGFzIG1vdmVkIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMS0wNy0yNSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogZXhhbXBsZXMvYW5kcm9pZC9SRUFETUU6IEFkZCBpbnN0YWxsYXRpb24gaGludHMgdG8gYW5kcm9pZCBleGFtcGxlCglSRUFETUUuCgoyMDExLTA3LTIyICBXaWxsaWFtIFJvYmVydHMgPHdyb2JlcnRzQHN0YS5zYW1zdW5nLmNvbT4KCgkqIGV4YW1wbGVzL2FuZHJvaWQvam5pL2Zidm5jc2VydmVyLmM6IFJlZHVjZWQgbWVtb3J5IGZvb3RwcmludCBieQoJNTAlCgoyMDExLTA3LTIyICBXaWxsaWFtIFJvYmVydHMgPHdyb2JlcnRzQHN0YS5zYW1zdW5nLmNvbT4KCgkqIGV4YW1wbGVzL2FuZHJvaWQvam5pL2Zidm5jc2VydmVyLmM6IENvcnJlY3RlZCByZXNvbHV0aW9uIGlzc3VlLAoJYnV0IHNjcmVlbiBpcyBnZXR0aW5nIHJlcG9ydGVkIGFzIHdyb25nIHNpemUKCjIwMTEtMDctMjMgIGNrYW5ydSA8Y2thbnJ1QGNvZGUuZ29vZ2xlLmNvbT4KCgkqIGV4YW1wbGVzL2FuZHJvaWQvam5pL2Zidm5jc2VydmVyLmM6IEZpeGVzIHJ1bm5pbmcgdm5jc2VydmVyIG9uCgliZWFnbGVib2FyZC8weGRyb2lkIGFuZCBwb3NzaWJseSBhbnkgZGV2aWNlIHdpdGhvdXQgYSB0b3VjaCBzY3JlZW4uCglCZWNhdXNlIGZha2UgdG91Y2ggc2NyZWVuIGFsd2F5cyByZXBvcnQgemVybyB3aGVuIHF1ZXJ5IGRldmljZQoJaW5mb3JtYXRpb24sIGNvb3JkaW5hdGVzIHRyYW5zZm9ybWF0aW9uIGlzIG5vdCBuZWVkZWQuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDExLTA3LTIzICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBjb25maWd1cmUuYWMsIGV4YW1wbGVzL01ha2VmaWxlLmFtLCBleGFtcGxlcy9hbmRyb2lkL01ha2VmaWxlLmFtLAoJcmZiL3JmYi5oLCB2bmN0ZXJtL01ha2VmaWxlLmFtOiBBZG9wdCBhdXRvdG9vbHMgYnVpbGQgc3lzdGVtIHRvCglBbmRyb2lkLiAgTGliVk5DU2VydmVyL0xpYlZOQ0NsaWVudCBub3cgYnVpbGQgZm9yIEFuZHJvaWQhCgoyMDExLTA3LTIzICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBleGFtcGxlcy9hbmRyb2lkL1JFQURNRSwgZXhhbXBsZXMvYW5kcm9pZC9qbmkvQW5kcm9pZC5taywKCWV4YW1wbGVzL2FuZHJvaWQvam5pL2Zidm5jc2VydmVyLmM6IEFkZCBhbmRyb2lkdm5jc2VydmVyIGV4YW1wbGUuCgoyMDExLTA3LTIyICBsZXRzZ291c3RjIDxsZXRzZ291c3RjQGdtYWlsLmNvbT4KCgkqIHJmYi9yZmIuaDogTWFrZSBMaWJWTkNTZXJ2ZXIgYnVpbGQgZm9yIEFuZHJvaWQuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDExLTA3LTE5ICBKb2VsIE1hcnRpbiA8Z2l0aHViQG1hcnRpbnRyaWJlLm9yZz4KCgkqIGxpYnZuY3NlcnZlci90aWdodC5jOiB0aWdodFBuZzogY2hlY2sgZXZlbiBmb3IgU2VuZEdyYWRpZW50UmVjdC4gIFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCjIwMTEtMDctMTkgIEpvZWwgTWFydGluIDxnaXRodWJAbWFydGludHJpYmUub3JnPgoKCSogQ01ha2VMaXN0cy50eHQsIGNvbmZpZ3VyZS5hYywgbGlidm5jc2VydmVyL01ha2VmaWxlLmFtLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCBsaWJ2bmNzZXJ2ZXIvc3RhdHMuYywKCWxpYnZuY3NlcnZlci90aWdodC5jLCByZmIvcmZiLmgsIHJmYi9yZmJjb25maWcuaC5jbWFrZSwKCXJmYi9yZmJwcm90by5oOiB0aWdodFBuZzogQWRkIGluaXRpYWwgdGlnaHRQbmcgZW5jb2Rpbmcgc3VwcG9ydC4gIGh0dHA6Ly93aWtpLnFlbXUub3JnL1ZOQ19UaWdodF9QTkcgU2lnbmVkLW9mZi1ieTogSm9lbCBNYXJ0aW4gPGdpdGh1YkBtYXJ0aW50cmliZS5vcmc+IFNpZ25lZC1vZmYtYnk6CglDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDExLTA2LTAxICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLCBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jOiBSZW1vdmUgc29tZSB1bnVzZWQKCXZhcmlhYmxlcy4KCjIwMTAtMTEtMTQgIEdlb3JnZSBLaWFnaWFkYWtpcyA8a2lhZ2lhZGFraXMuZ2VvcmdlQGdtYWlsLmNvbT4KCgkqIGxpYnZuY3NlcnZlci9zb2NrZXRzLmMsIHJmYi9yZmIuaDogRml4IHJmYlByb2Nlc3NOZXdDb25uZWN0aW9uIHRvCglyZXR1cm4gc29tZSB2YWx1ZSBpbnN0ZWFkIG9mIHZvaWQuICBCVUc6IDI1Njg5MSBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDEwLTExLTEwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGtpYWdpYWRha2lzLmdlb3JnZUBnbWFpbC5jb20+CgoJKiBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLCBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jLCByZmIvcmZiLmg6IFNwbGl0IHR3bwoJZXZlbnQtbG9vcCByZWxhdGVkIGZ1bmN0aW9ucyBvdXQgb2YgdGhlIHJmYlByb2Nlc3NFdmVudHMoKQoJbWVjaGFuaXNtLiAgVGhpcyBpcyByZXF1aXJlZCB0byBiZSBhYmxlIHRvIGRvIHByb3BlciBldmVudCBsb29wIGludGVncmF0aW9uIHdpdGgKCVF0LiAgSWRlYSB3YXMgdGFrZW4gZnJvbSB2aW5vJ3MgbGlidm5jc2VydmVyIGZvcmsuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDExLTA1LTA2ICBDcmlzdGlhbiBSb2Ryw61ndWV6IDxjcnJvZHJpZ3VlekBvcGVuc3VzZS5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL2ZpbGV0cmFuc2Zlcm1zZy5jOiBGaXggYnVmZmVyCglvdmVyZmxvdyBTaWduZWQtb2ZmLWJ5OiBDcmlzdGlhbiBSb2Ryw61ndWV6IDxjcnJvZHJpZ3VlekBvcGVuc3VzZS5vcmc+CglTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDExLTA0LTMwICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvdGlnaHQuYzogUmV2ZXJ0ICJGaXggbWVtb3J5IGNvcnJ1cHRpb24gYnVnLiIgVGhpcyByZXZlcnRzIGNvbW1pdCBjMTM2M2ZhOTU4M2VkNDFiOTRmYmM3OWIzZmY0MTBiN2Q1MTg5NDA3LiAgVGhlIHByb3BlciBmaXggd2FzIGFscmVhZHkgaW4KCTgwNDMzNWY5ZDI5NjQ0MGJiNzA4Y2E4NDRmNWQ4OWI1OGI1MGIwYzYuCgoyMDExLTA0LTI4ICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIEFVVEhPUlM6IFVURi04aWZ5IEFVVEhPUlMgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDExLTA0LTI4ICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIEFVVEhPUlM6IFVwZGF0ZSBBVVRIT1JTIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMC0xMS0xMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxraWFnaWFkYWtpcy5nZW9yZ2VAZ21haWwuY29tPgoKCSogbGlidm5jc2VydmVyL3RpZ2h0LmM6IEZpeCBtZW1vcnkgY29ycnVwdGlvbiBidWcuICBUaGlzIGJ1ZyBvY2N1cmVkIHdoZW4gYSBzZWNvbmQgdGVsZXBhdGh5IHR1YmVzIGNsaWVudCB3YXMgY29ubmVjdGVkCglhZnRlciB0aGUgZmlyc3Qgb25lIGhhZCBkaXNjb25uZWN0ZWQgYW5kIHRoZSBjaGFubmVsICh0aHVzLCB0aGUKCXNjcmVlbiB0b28pIGhhZCBiZWVuIGRlc3Ryb3llZC4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMC0xMS0xMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxraWFnaWFkYWtpcy5nZW9yZ2VAZ21haWwuY29tPgoKCSogY29tbW9uL3p5d3JsZXRlbXBsYXRlLmMsIGxpYnZuY3NlcnZlci9hdXRoLmMsCglsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIGxpYnZuY3NlcnZlci9zY2FsZS5jLAoJbGlidm5jc2VydmVyL3NjYWxlLmgsIHJmYi9yZmIuaDogRml4IGNvbXBpbGF0aW9uIGluIGM4OSBtb2RlLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDExLTA0LTI3ICBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPgoKCSogbGlidm5jY2xpZW50L3Rscy5jOiBSZXBsYWNlIGRlcHJlY2F0ZWQgR251VExTIGZ1bmN0aW9ucwoJZ251dGxzXypfc2V0X3ByaW9yaXR5IHdpdGggZ251dGxzX3ByaW9yaXR5X3NldF9kaXJlY3QuICBUaGUgZnVuY3Rpb25zIGdudXRsc18qX3NldF9wcmlvcml0eSB3ZSB1c2VkIHdlcmUgbWFya2VkIGRlcHJlY2F0ZWQKCXNpbmNlIGxhdGVzdCBHbnVUTFMgdmVyc2lvbiAyLjEyLiBIb3dldmVyIHRoZSByZXBsYWNlbWVudCBmdW5jdGlvbgoJZ251dGxzX3ByaW9yaXR5X3NldF9kaXJlY3QgaXMgYXZhaWxhYmxlIHNpbmNlIDIuMiwgd2hpY2ggaXMgZXZlbgoJbG93ZXIgdGhhbiBvdXIgdmVyc2lvbiByZXF1aXJlbWVudCAyLjQgaW4gY29uZmlndXJlLiBUaGUgcGF0Y2gganVzdAoJcmVwbGFjZSB0aGUgZGVwcmVjYXRlIGZ1bmN0aW9uIHRvIGZpeCB0aGUgY29tcGlsZSB3YXJuaW5nLiAgU2lnbmVkLW9mZi1ieTogVmljIExlZSA8bGx5enNAMTYzLmNvbT4gU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMKCVNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMS0wMy0zMCAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogQ2hhbmdlTG9nOiBVcGRhdGUgQ2hhbmdlTG9nIGZvciAwLjkuOC4KCjIwMTEtMDMtMjkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIFJFQURNRTogUmVtb3ZlIFJEUCBmcm9tIHRoZSBSRUFETUUgZGVzY3JpcHRpb24uICBXZSBkbyBWTkMgYnV0IG5vIFJEUC4gUG9pbnRlZCBvdXQgYnkgVmljIExlZSwgdGhhbmtzIQoKMjAxMS0wMy0yOSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogdXRpbHMvZ2l0MmNsLnBsOiBGaXggc2tpcHBpbmcgb2YgbWVyZ2UgY29tbWl0cyBpbiBsb2cgY29udmVydAoJc2NyaXB0LgoKMjAxMS0wMy0yOSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogYmRmMmMucGwsIGNvbnNvbGVmb250MmMucGwsIHV0aWxzL2JkZjJjLnBsLAoJdXRpbHMvY29uc29sZWZvbnQyYy5wbCwgdXRpbHMvZ2l0MmNsLnBsOiBBZGQgYSBnaXQtbG9nIHRvIEdOVS1TdHlsZQoJQ2hhbmdlTG9nIGNvbnZlcnRlciBzY3JpcHQuICBBbHNvIHB1dCBhbGwgaGVscGVyIHNjcmlwdHMgaW50byBhIHV0aWxzIGRpcmVjdG9yeS4KCjIwMTEtMDMtMjggIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIE5FV1M6IE1lbnRpb24gdGhlIHBrZy1jb25maWcgc3R1ZmYgaW4gTkVXUy4KCjIwMTEtMDMtMjcgIFZpYyBMZWUgPGxseXpzQDE2My5jb20+CgoJKiAuZ2l0aWdub3JlLCBNYWtlZmlsZS5hbSwgY29uZmlndXJlLmFjLCBsaWJ2bmNjbGllbnQucGMuaW4sCglsaWJ2bmNzZXJ2ZXIucGMuaW46IEFkZCBsaWJ2bmNzZXJ2ZXIucGMgYW5kIGxpYnZuY2NsaWVudC5wYyBmaWxlcy4gIFNpZ25lZC1vZmYtYnk6IFZpYyBMZWUgPGxseXpzQDE2My5jb20+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbgoJQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDExLTAzLTE3ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvdWx0cmEuYywgbGlidm5jc2VydmVyL3VsdHJhLmM6IEZpeCByZWdyZXNzaW9uIGluCglVbHRyYSBlbmNvZGluZyBpbnRyb2R1Y2VkIGJ5IGNvbW1pdAoJZmUxY2ExNmU5Yjc1YjVmMzhhYjM3NGM4ZGZmZjkyZDJjM2VhNDUzMi4gIE15IGJhZC4gVGhlcmUgd2Ugc2VlIHdoYXQgdGhlIGVuY29kaW5ncyB0ZXN0IGlzIGdvb2QgZm9yIDstKQoKMjAxMS0wMy0xNyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogdGVzdC9lbmNvZGluZ3N0ZXN0LmM6IFVwZGF0ZSBlbmNvZGluZ3N0ZXN0LiAgKiBGaXhlZCBzZWdmYXVsdCBvbiBzaHV0ZG93bi4gICogVXBkYXRlZCB0byB0ZXN0IGFsbCBlbmNvZGluZ3MuICAqIEZpeGVkIHRvIG9wZXJhdGUgd2l0aCBlbmNvZGluZ3MgdGhhdCBzcGxpdCB1cCByZWN0cyBpbnRvICAgc21hbGxlciByZWN0cy4KCjIwMTEtMDMtMTcgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jOiBSZW1vdmUgdXNlbGVzcyBjb21wYXJpc29ucyB0aGF0IGFsd2F5cwoJZXZhbHVhdGUgdG8gZmFsc2UuICBUaGVyZSBjYW4gbm90IGJlIG1vcmUgdGhhbiAyNTUgc2VjdXJpdHkgdHlwZXMgYW5kIE1TTG9nb24gaXMgUkZCIDMuNgoJb25seS4KCjIwMTEtMDMtMTcgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGV4YW1wbGVzL3JvdGF0ZS5jLCBleGFtcGxlcy9yb3RhdGV0ZW1wbGF0ZS5jLCBleGFtcGxlcy92bmNldi5jLAoJbGlidm5jY2xpZW50L2xpc3Rlbi5jLCBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywKCWxpYnZuY2NsaWVudC91bHRyYS5jLCBsaWJ2bmNjbGllbnQvenJsZS5jLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCBsaWJ2bmNzZXJ2ZXIvdWx0cmEuYzogRml4IChtb3N0KSBNaW5HVzMyCgljb21waWxlciB3YXJuaW5ncy4KCjIwMTEtMDMtMTcgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGV4YW1wbGVzL3JvdGF0ZS5jLCBleGFtcGxlcy96aXBweS5jLCBsaWJ2bmNzZXJ2ZXIvenJsZS5jLAoJbGlidm5jc2VydmVyL3pybGVlbmNvZGV0ZW1wbGF0ZS5jOiBGaXggcmVtYWluaW5nIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAxMS0wMy0xNyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogVmlzdWFsTmFDcm8vbmFjcm8uYywgZXhhbXBsZXMvYmFja2NoYW5uZWwuYywgZXhhbXBsZXMvY2FtZXJhLmMsCglleGFtcGxlcy9jb2xvdXJtYXB0ZXN0LmMsIGV4YW1wbGVzL2V4YW1wbGUuYywKCWV4YW1wbGVzL2ZpbGV0cmFuc2Zlci5jLCBleGFtcGxlcy9mb250c2VsLmMsIGV4YW1wbGVzL21hYy5jLAoJZXhhbXBsZXMvcG5tc2hvdy5jLCBleGFtcGxlcy9wbm1zaG93MjQuYywgZXhhbXBsZXMvc2ltcGxlLmMsCglleGFtcGxlcy9zaW1wbGUxNS5jLCBleGFtcGxlcy92bmNldi5jLCBleGFtcGxlcy96aXBweS5jLAoJdGVzdC9jYXJnc3Rlc3QuYywgdGVzdC9jb3B5cmVjdHRlc3QuYywgdGVzdC9jdXJzb3J0ZXN0LmMsCgl0ZXN0L2VuY29kaW5nc3Rlc3QuYzogQ2hlY2sgcmZiR2V0U2NyZWVuKCkgcmV0dXJuIHZhbHVlIGV2ZXJ5d2hlcmUuICBUaGlzIGZpeGVzIGEgc2VnZmF1bHQgd2hlbiBhIHNlcnZlciBpcyBpbnZva2VkIHdpdGggdGhlICctaGVscCcKCWNvbW1hbmRsaW5lIGFyZ3VtZW50LgoKMjAxMS0wMy0xMiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogQ01ha2VMaXN0cy50eHQsIHJmYi9yZmJjb25maWcuaC5jbWFrZTogQ01ha2U6IENoZWNrIGZvciBsaWJnY3J5cHQKCWF2YWlsYWJpbGl0eS4KCjIwMTEtMDMtMTIgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIENNYWtlTGlzdHMudHh0OiBDTWFrZTogVGhyZWFkcyBjYW4gYmUgYXZhaWxhYmxlIGV2ZW4gaWYgU0RMIGlzCglub3QuCgoyMDExLTAzLTEyICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBDTWFrZUxpc3RzLnR4dDogQ01ha2U6IGZpeCBidWlsZGluZyBTREx2bmN2aWV3ZXIuCgoyMDExLTAzLTEyICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBNYWtlZmlsZS5hbTogSW5jbHVkZSBjbWFrZSBjb25maWd1cmUgZmlsZSB0ZW1wbGF0ZXMgaW4gZGlzdAoJdGFyYmFsbC4gIFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCjIwMTEtMDMtMTIgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIHJmYi9yZmJjb25maWcuaC5pbiwgcmZiL3N0YW1wLWguaW46IFJlbW92ZSBhdXRvZ2VuZXJhdGVkIGZpbGVzLgoKMjAxMS0wMy0xMiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogTkVXUzogVXBkYXRlIE5FV1MgZm9yIDAuOS44IHJlbGVhc2UuCgoyMDExLTAzLTA3ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvdGxzLmM6IEZpeCBsaWJ2bmNjbGllbnQgVExTIGZvciBXaW5kb3dzIGJ1aWxkcy4gIEdudVRMUyBzZWVtcyB0byBleHBlY3QgcHJvcGVyIGVycm5vIHZhbHVlcyBpbnRlcm5hbGx5LiBTbyBzZXQgdGhlbQoJaW4gb3VyIGN1c3RvbSBwdXNoL3B1bGwgZnVuY3Rpb25zLiBQYXJ0cyBvZiB0aGUgcGF0Y2ggc3RvbGVuIGZyb20KCWxpYmN1cmwsIHRoYW5rcyEgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKMjAxMS0wMy0wNyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jY2xpZW50L3JmYnByb3RvLmM6IExldCBsaWJ2bmNjbGllbnQgYnVpbGQgd2l0aCBnY3J5cHQgZm9yCglNaW5HVzMyIGJ1aWxkcy4gIFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCjIwMTEtMDMtMDcgIFZpYyBMZWUgPGxseXpzQDE2My5jb20+CgoJKiBsaWJ2bmNjbGllbnQvc29ja2V0cy5jOiBVc2UgV2FpdEZvck1lc3NhZ2UgaW5zdGVhZCBvZiBzbGVlcCBpbgoJc29ja2V0IHJlYWRpbmcgdG8gZml4IHBlcmZvcm1hbmNlIGlzc3VlLiAgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKMjAxMS0wMy0xMCAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogY29tbW9uL2QzZGVzLmMsIGNvbW1vbi9kM2Rlcy5oLCBsaWJ2bmNzZXJ2ZXIvYXV0aC5jLAoJbGlidm5jc2VydmVyL2NvcnJlLmMsIGxpYnZuY3NlcnZlci9jdXRwYXN0ZS5jLCBsaWJ2bmNzZXJ2ZXIvZHJhdy5jLAoJbGlidm5jc2VydmVyL2ZvbnQuYywgbGlidm5jc2VydmVyL2hleHRpbGUuYywgbGlidm5jc2VydmVyL2h0dHBkLmMsCglsaWJ2bmNzZXJ2ZXIvcmZicmVnaW9uLmMsIGxpYnZuY3NlcnZlci9ycmUuYywKCWxpYnZuY3NlcnZlci9zZWxib3guYywgbGlidm5jc2VydmVyL3NvY2tldHMuYywKCWxpYnZuY3NlcnZlci9zdGF0cy5jLCBsaWJ2bmNzZXJ2ZXIvdGFibGVpbml0MjQuYywKCWxpYnZuY3NlcnZlci90YWJsZWluaXRjbXRlbXBsYXRlLmMsCglsaWJ2bmNzZXJ2ZXIvdGFibGVpbml0dGN0ZW1wbGF0ZS5jLAoJbGlidm5jc2VydmVyL3RhYmxldHJhbnMyNHRlbXBsYXRlLmMsCglsaWJ2bmNzZXJ2ZXIvdGFibGV0cmFuc3RlbXBsYXRlLmMsIGxpYnZuY3NlcnZlci90cmFuc2xhdGUuYywKCWxpYnZuY3NlcnZlci96cmxldHlwZXMuaCwgcmZiL3JmYnJlZ2lvbi5oLCB0ZXN0L2Jsb29wdGVzdC5jLAoJdGVzdC9jdXJzb3J0ZXN0LmM6IFNldCBwcm9wZXIgZmlsZSBwZXJtaXNzaW9ucyBmb3Igc291cmNlIGZpbGVzLgoKMjAxMS0wMy0xMCAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogQ01ha2VMaXN0cy50eHQsIGNvbmZpZ3VyZS5hYzogTmV4dCB2ZXJzaW9uIHdpbGwgYmUgMC45LjguCgoyMDExLTAzLTEwICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBNYWtlZmlsZS5hbSwgY29uZmlndXJlLmFjLCBjb250cmliL01ha2VmaWxlLmFtLCBjb250cmliL3ppcHB5LmMsCglleGFtcGxlcy9NYWtlZmlsZS5hbSwgZXhhbXBsZXMvemlwcHkuYzogTW92ZSB6aXBweS5jIHRvIGV4YW1wbGVzLgoKMjAxMS0wMy0wMyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jY2xpZW50L3NvY2tldHMuYywgbGlidm5jY2xpZW50L3Rscy5jLCBsaWJ2bmNzZXJ2ZXIvaHR0cGQuYywKCWxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgbGlidm5jc2VydmVyL3NvY2tldHMuYzogQ2FsbAoJV1NBR2V0TGFzdEVycm9yKCkgZXZlcnl3aGVyZSBlcnJubyBpcyByZWFkIGFmdGVyIGEgV2luc29jayBjYWxsLiAgV2luc29jayBkb2VzIE5PVCB1cGRhdGUgZXJybm8gZm9yIHVzLCB3ZSBoYXZlIGZldGNoIHRoZSBsYXN0IGVycm9yCgltYW51YWxseSB1c2luZyBXU0FHZXRMYXN0RXJyb3IoKS4KCjIwMTEtMDEtMjkgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNvbW1vbi9sem9jb25mLmgsIGNvbW1vbi9sem9kZWZzLmgsIGNvbW1vbi9taW5pbHpvLmMsCgljb21tb24vbWluaWx6by5oLCBsaWJ2bmNjbGllbnQvTWFrZWZpbGUuYW0sCglsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW06IFVwZGF0ZSBtaW5pbHpvIGxpYnJhcnkgdXNlZCBmb3IgVWx0cmEKCWVuY29kaW5nIHRvIHZlciAyLjA0LiAgQWNjb3JkaW5nIHRvIHRoZSBtaW5pbHpvIFJFQURNRSwgdGhpcyBicmluZ3MgYSBzaWduaWZpY2FudCBzcGVlZHVwCglvbiA2NC1iaXQgYXJjaGl0ZWNodHVyZXMuICBDaGFuZ2VzIGNvbXBhcmVkIHRvIG9sZCB2ZXJzaW9uIDEuMDggY2FuIGJlIGZvdW5kIGhlcmU6CglodHRwOi8vd3d3Lm9iZXJodW1lci5jb20vb3BlbnNvdXJjZS9sem8vbHpvbmV3cy5waHAgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKMjAxMS0wMS0yNCAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jc2VydmVyL2NvcnJlLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsCglsaWJ2bmNzZXJ2ZXIvcHJpdmF0ZS5oLCBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsCglsaWJ2bmNzZXJ2ZXIvcnJlLmMsIGxpYnZuY3NlcnZlci91bHRyYS5jLCByZmIvcmZiLmg6IGxpYnZuY3NlcnZlcjoKCU1ha2UgUlJFLCBDb1JSRSBhbmQgVWx0cmEgZW5jb2RpbmdzIHRocmVhZC1zYWZlLiAgVGhpcyBhZGRzIGdlbmVyaWMgYmVmb3JlL2FmdGVyIGVuY29kaW5nIGJ1ZmZlcnMgdG8gdGhlIHJmYkNsaWVudAoJc3RydWN0LCBzbyB0aGVyZSBpcyBubyBuZWVkIGZvciB0aHJlYWQgbG9jYWwgc3RvcmFnZS4gIFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCjIwMTEtMDItMDIgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIE1ha2VmaWxlLmFtOiBJbmNsdWRlIENNYWtlTGlzdHMudHh0IGZpbGUgaW4gZGlzdCB0YXJiYWxsLgoKMjAxMS0wMS0yOSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogLmN2c2lnbm9yZSwgUkVBRE1FLmN2cywgVmlzdWFsTmFDcm8vLmN2c2lnbm9yZSwKCWNsYXNzZXMvLmN2c2lnbm9yZSwgY2xpZW50X2V4YW1wbGVzLy5jdnNpZ25vcmUsIGNvbnRyaWIvLmN2c2lnbm9yZSwKCWN2c191cGRhdGVfYW5vbnltb3VzbHksIGV4YW1wbGVzLy5jdnNpZ25vcmUsCglsaWJ2bmNjbGllbnQvLmN2c2lnbm9yZSwgbGlidm5jc2VydmVyLy5jdnNpZ25vcmUsCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyLy5jdnNpZ25vcmUsIHJmYi8uY3ZzaWdub3JlLAoJdGVzdC8uY3ZzaWdub3JlLCB2bmN0ZXJtLy5jdnNpZ25vcmU6IFJlbW92ZSB1bm5lZWRlZCBmaWxlcwoJY29uY2VybmluZyBDVlMuICBXZSBoYXZlIGEgZ2l0IHJlcG8gbm93YWRheXMgYW5kIEkgZ3Vlc3Mgd2Ugd29uJ3QgZ28gYmFjayB0byBDVlMuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDExLTAxLTMxICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIGV4YW1wbGVzL2V4YW1wbGUuZHNwLCBsaWJ2bmNzZXJ2ZXIuZHNwLCBsaWJ2bmNzZXJ2ZXIuZHN3OiBSZW1vdmUKCWNvbXBsZXRlbHkgYnJva2VuIFZpc3VhbCBTdHVkaW8gcHJvamVjdCBmaWxlcyBJZiBwZW9wbGUgc2VyaW91c2x5IGNvbnNpZGVyIGJ1aWxkaW5nIHdpdGggVmlzdWFsIFN0dWRpbywgdGhlcmUgaXMKCWFsd2F5cyBDTWFrZS4gIFBvaW50ZWQgb3V0IGJ5IENocmlzdGlhbiBCZWllci4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMS0wMS0zMSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogY2xpZW50X2V4YW1wbGVzL01ha2VmaWxlLmFtLCBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmM6IAoJU0RMdm5jdmlld2VyOiBmaXggY29tcGlsYXRpb24gZnJvbSBkaXN0IHRhcmJhbGwuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CglTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTEtMDEtMjEgIFZpYyBMZWUgPGxseXpzQDE2My5jb20+CgoJKiBhY2luY2x1ZGUubTQsIGNvbmZpZ3VyZS5hYywgbGlidm5jY2xpZW50L3JmYnByb3RvLmMsCglyZmIvcmZicHJvdG8uaDogQWRkIEFSRCAoQXBwbGUgUmVtb3RlIERlc2t0b3ApIHNlY3VyaXR5IHR5cGUgc3VwcG9ydCBTaWduZWQtb2ZmLWJ5OiBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPiBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4KCUJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKMjAxMS0wMS0yNSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogQ01ha2VMaXN0cy50eHQsIGNvbW1vbi9kM2Rlcy5jLCBjb21tb24vZDNkZXMuaCwgY29tbW9uL2x6b2NvbmYuaCwKCWNvbW1vbi9taW5pbHpvLmMsIGNvbW1vbi9taW5pbHpvLmgsIGNvbW1vbi92bmNhdXRoLmMsCgljb21tb24venl3cmxldGVtcGxhdGUuYywgbGlidm5jY2xpZW50L01ha2VmaWxlLmFtLAoJbGlidm5jY2xpZW50L2x6b2NvbmYuaCwgbGlidm5jY2xpZW50L21pbmlsem8uYywKCWxpYnZuY2NsaWVudC9taW5pbHpvLmgsIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLAoJbGlidm5jY2xpZW50L3pybGUuYywgbGlidm5jc2VydmVyL01ha2VmaWxlLmFtLAoJbGlidm5jc2VydmVyL2QzZGVzLmMsIGxpYnZuY3NlcnZlci9kM2Rlcy5oLCBsaWJ2bmNzZXJ2ZXIvbHpvY29uZi5oLAoJbGlidm5jc2VydmVyL21pbmlsem8uYywgbGlidm5jc2VydmVyL21pbmlsem8uaCwKCWxpYnZuY3NlcnZlci92bmNhdXRoLmMsIGxpYnZuY3NlcnZlci96eXdybGV0ZW1wbGF0ZS5jOiBQdXQgZmlsZXMKCXVzZWQgYnkgYm90aCBsaWJzIGludG8gYSAnY29tbW9uJyBkaXIuICBObyBmdW5jdGlvbmFsIGNoYW5nZXMuIEFsbCBmaWxlcyB1c2VkIGJ5IF9ib3RoXyBsaWJ2bmNzZXJ2ZXIgYW5kCglsaWJ2bmNjbGllbnQgYXJlIHB1dCBpbnRvIGEgJ2NvbW1vbicgZGlyZWN0b3J5IGFuZCByZWZlcmVuY2VzIGZyb20KCW90aGVyIGZpbGVzIGFzIHdlbGwgYXMgQXV0b3Rvb2xzIGFuZCBDTWFrZSBidWlsZCBzeXN0ZW1zIGFyZQoJdXBkYXRlZC4gIFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCjIwMTEtMDEtMjAgIGVib2xhX3J1bGV6IDxlYm9sYV9ydWxlekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBsaWJ2bmNzZXJ2ZXIvdm5jYXV0aC5jOiBGaXggdHdvIGVycm9ycyBmb3VuZCBieSBjcHBjaGVjayBTaWduZWQtb2ZmLWJ5OiBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPiBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4KCUJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKMjAxMS0wMS0wMSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmM6IFJlbW92ZSBuZXZlciB1c2VkIHByb3RvY29sIHZlcnNpb24gbmFtZQoJc3RyaW5nLgoKMjAxMC0xMi0yOSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBjb25maWd1cmUuYWMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9NYWtlZmlsZS5hbSwKCXgxMXZuYy9SRUFETUUsIHgxMXZuYy9hdmFoaS5jLCB4MTF2bmMvY2xlYW51cC5jLAoJeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9jb25uZWN0aW9ucy5oLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL2luZXQuYywgeDExdm5jL2luZXQuaCwgeDExdm5jL21hY29zeC5jLCB4MTF2bmMvbWFjb3N4Q0cuYywKCXgxMXZuYy9tYWNvc3hDRy5oLCB4MTF2bmMvbWFjb3N4X29wZW5nbC5jLCB4MTF2bmMvbWFjb3N4X29wZW5nbC5oLAoJeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3JhdGVzLmMsCgl4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdXRpbC5jLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmMsCgl4MTF2bmMveHdyYXBwZXJzLmM6IHgxMXZuYzogVXNlIG9wZW5nbCB0byByZWFkIHNjcmVlbiBvbiBtYWNvc3guCglub24tZGVwcmVjYXRlZCBtYWNvc3ggaW50ZXJmYWNlcyBmb3IgaW5wdXQgaW5qZWN0aW9uLgoKMjAxMC0xMi0yMSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBjb25maWd1cmUuYWMsIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IGZvcmNlCgktLXdpdGgtc3lzdGVtLWxpYnZuY3NlcnZlciB0byB1c2UgY29ycmVjdCBoZWFkZXJzLgoKMjAxMC0xMi0yMSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBjbGFzc2VzL3NzbC9zc192bmN2aWV3ZXIsCgljbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLWN1cnNvci1jb2xvcnMrbm8tdGFiCgktdHJhdmVyc2FsLnBhdGNoLAoJY2xhc3Nlcy9zc2wvdGlnaHR2bmMtMS4zZGV2N19qYXZhc3JjLXZuY3ZpZXdlci1zc2wucGF0Y2gsCgljbGFzc2VzL3NzbC91bHRyYXZuYy0xMDItSmF2YVZpZXdlci1zc2wtZXRjLnBhdGNoLAoJcHJlcGFyZV94MTF2bmNfZGlzdC5zaCwgeDExdm5jLzh0bzI0LmMsIHgxMXZuYy9DaGFuZ2VMb2csCgl4MTF2bmMvTWFrZWZpbGUuYW0sIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9SRUxFQVNFLU5PVEVTLAoJeDExdm5jL2FwcHNoYXJlLmMsIHgxMXZuYy9jbGVhbnVwLmMsIHgxMXZuYy9ndWkuYywgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9rZXlib2FyZC5jLCB4MTF2bmMva2V5Ym9hcmQuaCwgeDExdm5jL2xpbnV4ZmIuYywKCXgxMXZuYy9tYWNvc3guYywgeDExdm5jL21hY29zeENHLmMsIHgxMXZuYy9taXNjL01ha2VmaWxlLmFtLAoJeDExdm5jL21pc2MvUkVBRE1FLCB4MTF2bmMvbWlzYy9xdF90c2xpYl9pbmplY3QucGwsCgl4MTF2bmMvbWlzYy91aW5wdXQucGwsIHgxMXZuYy9wb2ludGVyLmMsIHgxMXZuYy9yZW1vdGUuYywKCXgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3NzbGhlbHBlci5jLAoJeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy91aW5wdXQuYywgeDExdm5jL3VpbnB1dC5oLAoJeDExdm5jL3VuaXhwdy5jLCB4MTF2bmMvdXNlci5jLCB4MTF2bmMvdXRpbC5oLCB4MTF2bmMvdjRsLmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuYy5oLAoJeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZXZlbnRzLmMsIHgxMXZuYy94ZXZlbnRzLmgsCgl4MTF2bmMveHJlY29yZC5jLCB4MTF2bmMveHJlY29yZC5oLCB4MTF2bmMveHdyYXBwZXJzLmM6IHgxMXZuYzoKCXRvdWNoc2NyZWVuIHVpbnB1dCBzdXBwb3J0IGFuZCBKYXZhIHZpZXdlciBtb3VzZXdoZWVsIHN1cHBvcnQuICBTZWUKCXgxMXZuYy9DaGFuZ2VMb2cgZm9yIHJlc3QuCgoyMDEwLTEyLTAxICBUb2JpYXMgRG9lcmZmZWwgPHRvYmlhcy5kb2VyZmZlbEBnbWFpbC5jb20+CgoJKiBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jOiBsaWJ2bmNzZXJ2ZXIgc29ja2V0czogY2hlY2sgY2wtPnNjcmVlbgoJYmVmb3JlIGFjY2Vzc2luZyBpdCBJbiBjb21taXQgMDc5Mzk0Y2E1YjE0ZDgwNjdiOTVhOWNmOTVhODM0ODI4YjQ0MjVhNiBuZXcgY29kZSB3aXRoCglpbnN1ZmZpY2llbnQgY2hlY2tzIHdhcyBpbnRyb2R1Y2VkIGNhdXNpbmcgYSBzZWdmYXVsdCB3aGVuIGRvaW5nIGEKCUhUVFAgc2VydmVyIGNvbm5lY3Rpb24uIFN1Y2ggY29ubmVjdGlvbnMgaGF2ZSBubyBzY3JlZW4gc2V0IGluIHRoZQoJY2xpZW50IGRhdGEgc3RydWN0dXJlLiAgU2lnbmVkLW9mZi1ieTogVG9iaWFzIERvZXJmZmVsIDx0b2JpYXMuZG9lcmZmZWxAZ21haWwuY29tPgoKMjAxMC0xMS0zMCAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogRG94eWZpbGU6IERveHlnZW4gZG9jdW1lbnRhdGlvbjogYWN0dWFsbHkgYWRkIERveHlmaWxlLgoKMjAxMC0xMS0yOSAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiBpbmRleC5odG1sLCBzdWNjZXNzLmh0bWw6IFRoZSB3ZWJzaXRlIGlzIG5vdyBtYWludGFpbmVkCglpbmRlcGVuZGVudGx5IFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMC0xMS0xOCAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jLCBjbGllbnRfZXhhbXBsZXMvYmFja2NoYW5uZWwuYywKCWNsaWVudF9leGFtcGxlcy9wcG10ZXN0LmMsIGNsaWVudF9leGFtcGxlcy92bmMybXBnLmMsCglleGFtcGxlcy9iYWNrY2hhbm5lbC5jLCBleGFtcGxlcy9jYW1lcmEuYywgZXhhbXBsZXMvZXhhbXBsZS5jLAoJZXhhbXBsZXMvZmlsZXRyYW5zZmVyLmMsIGV4YW1wbGVzL3BubXNob3cuYywgZXhhbXBsZXMvcG5tc2hvdzI0LmMsCglleGFtcGxlcy92bmNldi5jLCByZmIvcmZiLmgsIHJmYi9yZmJjbGllbnQuaCwgcmZiL3JmYnByb3RvLmg6IEFkZAoJZG94eWdlbiBkb2N1bWVudGF0aW9uIHN1cHBvcnQuICAgICAgQWRkcyBhdXRvbWFnaWNhbGx5IGdlbmVyYXRpbmcgbGlidm5jc2VydmVyL2xpYnZuY2NsaWVudCBBUEkgICAgIGRvY3VtZW50YXRpb24gdXNpbmcgZG94eWdlbi4gVGhpcyBnaXZlcyBhIG5pY2Ugb3ZlcnZpZXcgb24gYm90aAoJICAgIEFQSXMsIGluY2x1ZGUgZGVwZW5kZW5jaWVzIGFuZCBmdW5jdGlvbiBjYWxsL2NhbGxlcgoJZGVwZW5kZW5jaWVzLiAgICAgIFRPRE86IE1vZGlmeSBhbGwgdGhlIGV4cGxhaW5pbmcgY29tbWVudHMgaW4gdGhlIC5jIGZpbGVzIGZvciB1c2UKCSAgICAgICAgICB3aXRoIGRveHlnZW4gYXMgd2VsbC4gICAgICBUaGlzIHBhdGNoIG9ubHkgY2hhbmdlcyBjb21tZW50cywgbm8gZnVuY3Rpb25hbCBjaGFuZ2VzIGF0IGFsbCEgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKMjAxMC0xMS0xOCAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jc2VydmVyL21haW4uYzogbGlidm5jc2VydmVyOiBmaXggZW5kbGVzcyBsb29wIHdoZW4gc2VydmVyCgljbG9zZWQgY2xpZW50IGluIHRocmVhZGVkIG1vZGUuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDEwLTExLTE4ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jOiBsaWJ2bmNzZXJ2ZXIgc29ja2V0czogZmF2b3IgcGVyLXNjcmVlbgoJbWF4Y2xpZW50d2FpdCBvdmVyIGdsb2JhbCBvbmUgd2hlbiBzZXQuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDEwLTExLTExICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIGxpYnZuY3NlcnZlci9zdGF0cy5jLCByZmIvcmZicHJvdG8uaDogCglsaWJ2bmNzZXJ2ZXIgY2xlYW51cDogcmVtb3ZlIHJmYktleUZyYW1lIHJlbW5hbnRzLgoKMjAxMC0xMS0wMiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jY2xpZW50L3JmYnByb3RvLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsCglsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIGxpYnZuY3NlcnZlci9zdGF0cy5jLCByZmIvcmZiLmgsCglyZmIvcmZiY2xpZW50LmgsIHJmYi9yZmJwcm90by5oOiBsaWJ2bmNbc2VydmVyfGNsaWVudF06IGltcGxlbWVudAoJeHZwIFZOQyBleHRlbnNpb24uICBUaGlzIGltcGxlbWVudHMgdGhlIHh2cCBWTkMgZXh0ZW5zaW9uLCB3aGljaCBpcyBkZXNjcmliZWQgaW4gdGhlCgljb21tdW5pdHkgdmVyc2lvbiBvZiB0aGUgUkZCIHByb3RvY29sOgoJaHR0cDovL3RpZ2Vydm5jLnNvdXJjZWZvcmdlLm5ldC9jZ2ktYmluL3JmYnByb3RvIEl0IGlzIGFsc28KCW1lbnRpb25lZCBpbiB0aGUgb2ZmaWNpYWwgUkZCIHByb3RvY29sLgoKMjAxMC0xMC0yOCAgVG9iaWFzIERvZXJmZmVsIDx0b2JpYXMuZG9lcmZmZWxAZ21haWwuY29tPgoKCSogbGlidm5jc2VydmVyL21haW4uYzogQWRkZWQgbWlzc2luZyBpbml0aWFsaXphdGlvbiBvZiBleHRlbnNpb24KCW11dGV4IFdoZW4gbm90IGNhbGxpbmcgcmZiUmVnaXN0ZXJQcm90b2NvbEV4dGVuc2lvbigpIHRoZSBleHRlbnNpb24gbXV0ZXgKCWlzIHVuaW5pdGlhbGl6ZWQgYnV0IHVzZWQgdXBvbiBjYWxsaW5nIHJmYkdldEV4dGVuc2lvbkl0ZXJhdG9yKCkgYW5kCglyZmJSZWxlYXNlRXh0ZW5zaW9uSXRlcmF0b3IoKSBpbiByZmJOZXdUQ1BPclVEUENsaWVudCgpLiBUaGlzIGNhdXNlcwoJbGlidm5jc2VydmVyIHRvIGNyYXNoIG9uIFdpbjMyIHdoZW4gYnVpbGRpbmcgd2l0aCB0aHJlYWQgc3VwcG9ydC4gIFNpZ25lZC1vZmYtYnk6IFRvYmlhcyBEb2VyZmZlbCA8dG9iaWFzLmRvZXJmZmVsQGdtYWlsLmNvbT4KCVNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCjIwMTAtMTAtMjEgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCByZmIvcmZicHJvdG8uaDogT25seSBkZWZpbmUgc3RybmNhc2VjbXAKCXRvIF9zdHJuaWNtcCB3aGVuIHVzaW5nIE1TIGNvbXBpbGVyLiAgUmVkZWZpbmluZyBzdHJuY2FzZWNtcCB0byBfc3RybmljbXAgbWFrZXMgbGlidm5jY2xpZW50IGhhbmcgZm9yZXZlcgoJaW4gU2V0Rm9ybWF0QW5kRW5jb2RpbmdzKCkgb24gV2luZG93cyB3aGVuIGJ1aWx0IHdpdGggTWluR1c2NC4gIFJlcG9ydGVkIGJ5IFRvYmlhcyBEb2VyZmZlbCA8dG9iaWFzLmRvZXJmZmVsQGdtYWlsLmNvbT4sIHRoYW5rcyEKCjIwMTAtMTAtMjAgIFRvYmlhcyBEb2VyZmZlbCA8dG9iaWFzLmRvZXJmZmVsQGdtYWlsLmNvbT4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogSW4gcmZiU2VuZERpckNvbnRlbnQoKSB3ZSBoYXZlIHRvIG1ha2UKCXN1cmUgdG8gY2FsbCBjbG9zZWRpcigpIGJlZm9yZSByZXR1cm5pbmcuIFRoaXMgZGlkIG5vdCBoYXBwZW4gaWYKCXJmYlNlbmRGaWxlVHJhbnNmZXJNZXNzYWdlKCkgZmFpbGVkLiAgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKMjAxMC0xMC0yMCAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jY2xpZW50L3NvY2tldHMuYzogRml4IGJ1aWxkIGZhaWx1cmUgd3J0IElQIFFvUyBzdXBwb3J0IGluCglsaWJ2bmNjbGllbnQuICBUaGlzIGlzIGEgc21hbGwgYWRkZW5kdW0gdG8KCTA3OTdlNDJhNGFhZjgxMzFhZTcxODk5ZmFlYTJkNjgyZWQ4MWNiNTkuICBTZWVtcyB0aGF0IGhhdmluZyBJUHY2CglzdXBwb3J0IGluIHRoZSBPUyBkb2VzIG5vdCBuZWNlc3NhcmlseSBtZWFuIHRoYXQgSVBWNl9UQ0xBU1MgaXMKCWF2YWlsYWJsZS4gT25lIHN1Y2ggY2FzZSBzZWVtcyB0byBiZSBNYWMgT1MgWCAxMC41LgoKMjAxMC0wMi0wOSAgVmljIExlZSA8bGx5enNAMTYzLmNvbT4KCgkqIGxpYnZuY2NsaWVudC9zb2NrZXRzLmM6IEF2b2lkIDEwMCUgQ1BVIHVzYWdlIHdoZW4gY2FsbGluZwoJUmVhZEZyb21SRkJTZXJ2ZXIgYW5kIG5vIGF2YWlsYWJsZSBieXRlcyB0byByZWFkIFNpZ25lZC1vZmYtYnk6IFZpYyBMZWUgPGxseXpzQDE2My5jb20+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbgoJQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDEwLTEwLTA4ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiByZmIvcmZicHJvdG8uaDogcmZiL3JmYnByb3RvLmg6IFByZWZpeCBXT1JEU19CSUdFTkRJQU4gd2hlbiBpdCBpcwoJZGVmaW5lZC4gIFNvbWUgKGFsbD8pIGF1dG90b29sIHZlcnNpb25zIGRvIG5vdCBwcm9wZXJseSBwcmVmaXggV09SRFNfQklHRU5ESUFOCgl3aXRoIExJQlZOQ1NFUlZFUl8sIHNvIGRvIHRoYXQgbWFudWFsbHkgaGVyZS4gIFRoYW5rcyB0byBMb3JlbnogS29sYiBmb3IgcmVwb3J0aW5nLgoKMjAxMC0wOS0yOSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogVE9ETywgbGlidm5jY2xpZW50L3JmYnByb3RvLmMsIGxpYnZuY2NsaWVudC9zb2NrZXRzLmMsCglsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmMsIHJmYi9yZmJjbGllbnQuaDogSVAgUW9TIHN1cHBvcnQgaW4KCWxpYnZuY2NsaWVudC4gIFRoaXMgZW5hYmxlcyBzZXR0aW5nIHRoZSBEU0NQL1RyYWZmaWMgQ2xhc3MgZmllbGQgb2YgSVAvSVB2NiBwYWNrZXRzCglzZW50IGJ5IGEgY2xpZW50LiBGb3IgZXhhbXBsZSBzdGFydGluZyBhIGNsaWVudCB3aXRoIC1xb3Nkc2NwIDE4NAoJbWFya3MgYWxsIG91dGdvaW5nIHRyYWZmaWMgZm9yIGV4cGVkaXRlZCBmb3J3YXJkaW5nLiAgSW1wbGVtZW50YXRpb24gZm9yIFdpbjMyIGlzIHN0aWxsIGEgVE9ETywgdGhvdWdoLiBTZWUKCglodHRwOi8vYmV0ZWxjby5ibG9nc3BvdC5jb20vMjAwOS8wMy9kc2NwLW1hcmtpbmctdW5kZXItd2luZG93cy1hdC5odG1sZm9yIGFuIG92ZXJ2aWV3IG9mIHRoZSBXaW4zMiBRb1MgQVBJIG1lc3MuLi4KCjIwMTAtMDktMDcgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIFRPRE8sIGxpYnZuY2NsaWVudC9zb2NrZXRzLmMsIGxpYnZuY3NlcnZlci9odHRwZC5jLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jLCByZmIvcmZiLmg6IAoJTm9uLWJsb2NraW5nIHNvY2tldHMgZm9yIFdpbmRvd3MuICBFeHBhbmRzIHRoZSBTZXROb25CbG9ja2luZygpIGZ1bmN0aW9uIGluIGxpYnZuY2NsaWVudC9zb2NrZXRzLmMgdG8KCWFsc28gd29yayB1bmRlciBXaW5kb3dzIGFuZCBhbHNvIGNoYW5nZXMgaXQgdG8gaG9ub3VyIG1heWJlIGFscmVhZHkKCXByZXNlbnQgc29ja2V0IGZsYWdzLiAgQSBzaW1pbGFyIGZ1bmN0aW9uIHdhcyBpbnRyb2R1Y2VkIGZvciBsaWJ2bmNzZXJ2ZXIgYXMgd2VsbCBhbmQgYWxsCgl0aGUgI2lmZGVmJ2VkIGZuY3RsIGNhbGxzIHJlcGxhY2VkIHdpdGggY2FsbHMgdG8gdGhhdCBvbmUuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDEwLTA5LTA2ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLCBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsCglsaWJ2bmNzZXJ2ZXIvc2NhbGUuYzogQ2xlYW51cDogcmVtb3ZlIENPUkJBIHN0dWZmLiAgVGhlIGhlYWRlciBmaWxlIGFuZCBtb3N0IG9mIHRoZSBmdW5jdGlvbnMgcmVmZXJyZWQgdG8gZG8gbm90IGV4aXN0CglpbiBsaWJ2bmNzZXJ2ZXIuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDEwLTA5LTEwICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIGNsYXNzZXMvc3NsL3NzX3ZuY3ZpZXdlciwKCWNsYXNzZXMvc3NsL3RpZ2h0dm5jLTEuM2RldjdfamF2YXNyYy12bmN2aWV3ZXItc3NsLnBhdGNoLAoJY2xhc3Nlcy9zc2wvdWx0cmF2bmMtMTAyLUphdmFWaWV3ZXItc3NsLWV0Yy5wYXRjaDogdXBkYXRlCgljbGFzc2VzL3NzbCBqYXJzLCBwYXRjaGVzLCBhbmQgc2NyaXB0CgoyMDEwLTA5LTEwICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy84dG8yNC5jLCB4MTF2bmMvQ2hhbmdlTG9nLAoJeDExdm5jL01ha2VmaWxlLmFtLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvYXZhaGkuYywgeDExdm5jL2F2YWhpLmgsCgl4MTF2bmMvY2xlYW51cC5jLCB4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9pbmV0LmMsIHgxMXZuYy9rZXlib2FyZC5jLCB4MTF2bmMvbWlzYy91bHRyYXZuY19yZXBlYXRlci5wbCwKCXgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9wb2ludGVyLmMsCgl4MTF2bmMvcG9pbnRlci5oLCB4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY3JlZW4uYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZXZlbnRzLmMsIHgxMXZuYy94d3JhcHBlcnMuYzogdXBkYXRlCgl0byB4MTF2bmMgMC45LjEyCgoyMDEwLTA5LTA2ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jc2VydmVyL3RpZ2h0LmM6IEZpeCBNaW5HVzMyCgljb21waWxhdGlvbiB3aXRoIGxpYmpwZWcuICBNaW5HVzMyIChvciBtb3JlIGV4YWN0bHksIGEgcnBjbmRyLmggZmlsZSBpbmNsdWRlZCBieSB3aW5zb2NrMi5oKQoJdHlwZWRlZnMgYSAnYm9vbGVhbicgdHlwZSB0aGF0IGptb3JlY2ZnLmggaW5jbHVkZWQgYnkganBlZ2xpYi5oIGFsc28KCXRyaWVzIHRvIHR5cGVkZWYuICBTbywgdGVsbCB0aGUganBlZyBoZWFkZXJzLiAgQ2xvc2VzOiAzMDA3MzAyCgoyMDEwLTA3LTExICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBjb25maWd1cmUuYWMsIGxpYnZuY2NsaWVudC9zb2NrZXRzLmM6IEZpeCBNaW5HVzMyIGNoZWNraW5nIGZvcgoJSVB2Ni4gIFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCVNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMC0wNi0yOSAgVmljIExlZSA8bGx5enNAMTYzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYywgbGlidm5jY2xpZW50L3JmYnByb3RvLmMsIGxpYnZuY2NsaWVudC9zb2NrZXRzLmMsCglyZmIvcmZiY2xpZW50Lmg6IGxpYnZuY2NsaWVudDogYWRkIGlwdjYgc3VwcG9ydCBbamVzOiBwdWxsZWQgdGhlICJob3N0IiBkZWNsYXJhdGlvbnMgaW50byB0aGUgY29uZGl0aW9uYWxseSBjb21waWxlZAoJYmxvY2tzIHdoZXJlIHRoYXQgdmFyaWFibGUgaXMgdXNlZC4gQWxzbyBmaXhlZCBub24tSVB2NgoJY29ubmVjdGlvbnMuXSBTaWduZWQtb2ZmLWJ5OiBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPiBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcwoJU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDEwLTA1LTMxICBXb3V0ZXIgVmFuIE1laXIgPHdvdXRlci52YW5tZWlyQHBhbmRvcmEuYmU+CgoJKiBsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmM6IENhbGwgTWFsbG9jRnJhbWVCdWZmZXIgYmVmb3JlCglTZXRGb3JtYXRBbmRFbmNvZGluZ3MgVGhlIGhvb2sgaXMgc3RpbGwgY2FsbGVkIGFmdGVyIEluaXRpYWxpc2VSRkJDb25uZWN0aW9uKCkgc28gd2UgY2FuCgljaG9vc2UgdGhlIGNvbG9yIHNldHRpbmdzIGRlcGVuZGluZyBvbiB0aGUgdm5jIHNlcnZlciAob3Igc2V0dGluZ3MpCglpbiB0aGF0IGhvb2suICBUaGlzIHdheSBvbmUgY2FuIHVzZSB0aGUgIlZOQyBzZXJ2ZXIgZGVmYXVsdCBmb3JtYXQiIHBpeGVsZm9ybWF0IGlmCgl0aGUgY2xpZW50IHN1cHBvcnRzIGl0LCBvciBwZXJmb3JtIGEgd29ya2Fyb3VuZCAoSW50ZWwgQU1UIEtWTQoJImNsYXNzaWMgdm5jIiBzZXJ2ZXIgb25seSB3b3JrcyB1c2luZyA4Yml0IGNvbG9ycyBpbiBSRkIzLjgpIFNpZ25lZC1vZmYtYnk6IFdvdXRlciBWYW4gTWVpciA8d291dGVyLnZhbm1laXJAcGFuZG9yYS5iZT4KCVNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMC0wNS0xOSAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jc2VydmVyL21haW4uYywgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCByZmIvcmZiLmg6IAoJSW1wbGVtZW50IGEgRGlzcGxheUZpbmlzaGVkSG9vayBmb3IgbGlidm5jc2VydmVyLiAgSWYgc2V0LCB0aGlzIGhvb2sgZ2V0cyBjYWxsZWQganVzdCBiZWZvcmUgcmZiU2VuZEZyYW1lQnVmZmVyVXBkYXRlKCkKCXJldHVybnMuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoyMDEwLTA1LTA4ICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIENoYW5nZUxvZywgbGlidm5jY2xpZW50L3JmYnByb3RvLmM6IGxpYnZuY2NsaWVudDoKCXJmYlJlc2l6ZUZyYW1lQnVmZmVyIHNob3VsZCBhbHNvIHNldCB1cGRhdGVSZWN0LgoKMjAxMC0wNS0wOCAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3VuaXhwdy5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiB0d2Vha3MgdG8KCXByZXBhcmVfeDExdm5jX2Rpc3Quc2guIHNldCBjZC0+dW5peG5hbWUgaW4gYXBwbHlfb3B0cygpLgoKMjAxMC0wNS0wNyAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiBBVVRIT1JTOiBDb21wbGV0ZSB0aGUgQVVUSE9SUyBmaWxlIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMC0wNS0wNyAgV291dGVyIFZhbiBNZWlyIDx3b3V0ZXIudmFubWVpckBwYW5kb3JhLmJlPgoKCSogQ01ha2VMaXN0cy50eHQ6IGZpeCBDTWFrZUxpc3RzLnR4dDogb3RoZXIgd2F5IHRvIGZpbmQgcHRocmVhZAoJbGlicmFyeSAuLi4gYW5kIGZpeGVkIGxpbmtpbmcgb2YgdGhlIHRlc3RzIGluIHRoZSBleGFtcGxlcyBkaXJlY3RvcnkuICBTaWduZWQtb2ZmLWJ5OiBXb3V0ZXIgVmFuIE1laXIgPHdvdXRlci52YW5tZWlyQHBhbmRvcmEuYmU+CglTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTAtMDUtMDUgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogY2xhc3Nlcy9zc2wvaW5kZXgudm5jLCBjbGFzc2VzL3NzbC9wcm94eS52bmMsCgljbGFzc2VzL3NzbC91bHRyYS52bmMsIGNsYXNzZXMvc3NsL3VsdHJhcHJveHkudm5jLAoJY2xhc3Nlcy9zc2wvdWx0cmFzaWduZWQudm5jLCBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvY29ubmVjdF9ici50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9idWlsZC51bml4LAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL19idW5kbGUsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiBtaXNjL2V0diBzeW5jLgoKMjAxMC0wNS0wMSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY29ubmVjdGlvbnMuYywKCXgxMXZuYy9oZWxwLmMsIHgxMXZuYy9taXNjL3VsdHJhdm5jX3JlcGVhdGVyLnBsLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmNfZGVmcy5jLAoJeDExdm5jL3hyZWNvcmQuYzogeDExdm5jOiBYMTFWTkNfRElTQUJMRV9TU0xfQ0xJRU5UX01PREUgb3B0aW9uIHRvCgkgICAgICAgICAgZGlzYWJsZSBTU0wgY2xpZW50IHJvbGUgaW4gcmV2ZXJzZSBjb25uZWN0aW9ucy4gIEltcHJvdmVtZW50cyB0bwoJICAgICAgICAgIGxvZ2dpbmcgaW4gdWx0cmF2bmNfcmVwZWF0ZXIsIFVMVFJBVk5DX1JFUEVBVEVSX05PX1JGQiBvcHRpb24uCgkgICAgICAgICAgSW5jcmVhc2UgU1NMIHRpbWVvdXQgYW5kIHByaW50IG1lc3NhZ2UgaWYgJ3JlcGVhdGVyJyBtb2RlIGlzCgkgICAgICAgICAgZGV0ZWN0ZWQgZm9yIHJldmVyc2UgU1NMIGNvbm5lY3Rpb24uICBGaXggUkVDT1JEIHNjcm9sbCBYQ29weUFyZWEKCSAgICAgICAgICBkZXRlY3Rpb24gd2l0aCByZWNlbnQgZ3RrL2dkayBsaWJyYXJ5OyBzZXQgWDExVk5DX1NDUk9MTF9NVVNUX0VRVUFMICAgICAgICAgICB0byBkaXNhYmxlLiAgTGltaXQgbG9nZ2luZyBvZiBSRUNPUkQgZXJyb3IgbWVzc2FnZXMuCgoyMDEwLTA0LTI4ICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIGNsaWVudF9leGFtcGxlcy9NYWtlZmlsZS5hbTogQW5vdGhlciB0cnkgdG8gZml4IHRoZSBfU09VUkNFUyBpc3N1ZSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTAtMDQtMjggIENvcmVudGluIENoYXJ5IDxjb3JlbnRpbi5jaGFyeUBnbWFpbC5jb20+CgoJKiBDTWFrZUxpc3RzLnR4dCwgcmZiL3JmYmNvbmZpZy5oLmNtYWtlOiBjbWFrZTogZml4IENNYWtlTGlzdHMudHh0IC0gSXQncyBTRExfTElCUkFSWSwgbm90IFNETF9MSUJSQVJJRVMgLSBEZXRlY3QgR251VExTIGFuZCBzZXQgdGhlIG1hY3JvIGluIHJmYmNvbmZpZy5oIC0gQWRkIHRscy5jIHRvIGxpYnZuY2NsaWVudCB0byBhdm9pZCBtaXNzaW5nIHN5bWJvbHMgU2lnbmVkLW9mZi1ieTogQ29yZW50aW4gQ2hhcnkgPGNvcmVudGluLmNoYXJ5QGdtYWlsLmNvbT4KCVNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMC0wNC0yNSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvZW5jLmgsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zc2xoZWxwZXIuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuY19kZWZzLmM6IGluY29ycG9yYXRlIG5ldwoJdWx0cmF2bmNfZHNtX2hlbHBlci5jLgoKMjAxMC0wNC0xOCAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3NzX3ZuY3ZpZXdlciwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc3ZuYy50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYnVpbGQudW5peCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9tYW4vbWFuMS9zc3ZuY3ZpZXdlci4xLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3N0dW5uZWwtbWF4Y29ubi5wYQoJdGNoLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2g6IFN5bmMgc3N2bmN2aWV3ZXIgY2hhbmdlcy4KCjIwMTAtMDQtMTggIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2FwcHNoYXJlLmMsCgl4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2hlbHAuYywgeDExdm5jL2luZXQuYywgeDExdm5jL2luZXQuaCwKCXgxMXZuYy9taXNjL2Nvbm5lY3Rfc3dpdGNoLCB4MTF2bmMvbWlzYy9kZXNrdG9wLmNnaSwKCXgxMXZuYy9taXNjL3VsdHJhdm5jX3JlcGVhdGVyLnBsLCB4MTF2bmMvb3B0aW9ucy5jLAoJeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2NyZWVuLmMsCgl4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3V0aWwuYywgeDExdm5jL3Y0bC5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94aW5lcmFtYS5jOiAKCUltcHJvdmVtZW50cyB0byBkZW1vIHNjcmlwdHMuIEFsaWFzIC1jb2UgZm9yIC1jb25uZWN0X29yX2V4aXQuICBGaXgKCUhBVkVfVjRMMi4gV2FybiBubyBYdmZiLCBYZHVtbXksIG9yIFh2bmMuIFhpbmVyYW1hIHNjcmVlbnMuCgoyMDEwLTA0LTA5ICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2Nvbm5lY3Rpb25zLmgsIHgxMXZuYy9lbmMuaCwgeDExdm5jL2hlbHAuYywgeDExdm5jL2luZXQuYywKCXgxMXZuYy9pbmV0LmgsIHgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9yZW1vdGUuYywKCXgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3NzbGNtZHMuYywgeDExdm5jL3NzbGhlbHBlci5jLAoJeDExdm5jL3NzbGhlbHBlci5oLCB4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3RreDExdm5jLAoJeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy91c2VyLmMsIHgxMXZuYy91dGlsLmMsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYywKCXgxMXZuYy94ZXZlbnRzLmMsIHgxMXZuYy94aW5lcmFtYS5jOiB4MTF2bmM6IGV4aXQoMSkgZm9yCgktY29ubmVjdF9vcl9leGl0IGZhaWx1cmUsIHF1aWV0IHF1ZXJ5IG1vZGUgZm9yIGdyYWJfc3RhdGUsCglwb2ludGVyX3BvcywgZXRjLiBpcHY2IHN1cHBvcnQuIFNUVU5ORUxfTElTVEVOIGZvciBwYXJ0aWN1bGFyCglpbnRlcmZhY2UuIC1pbnB1dF9lYWdlcmx5IGluIGFkZGl0aW9uIHRvIC1hbGxpbnB1dC4gIHF1aWV0IFhpbmVyYW1hCgltZXNzYWdlLgoKMjAxMC0wNC0wOSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBjbGFzc2VzL3NzbC9zc192bmN2aWV3ZXIsCgljbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLXNzbC5wYXRjaCwKCWNsYXNzZXMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2g6IEltcHJvdmVtZW50cyB0bwoJSmF2YSB2aWV3ZXI6IHRyb3VibGVzaG9vdGluZyBzZXR0aW5ncyBhbmQgd29ya2Fyb3VuZHMsIG1pc2MgYnVnCglmaXhlcy4KCjIwMTAtMDQtMDkgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogeDExdm5jL21pc2MvY29ubmVjdF9zd2l0Y2gsIHgxMXZuYy9taXNjL2Rlc2t0b3AuY2dpLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvY29ubmVjdF9ici50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9idWlsZC51bml4LAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL21hbi9tYW4xL3Nzdm5jLjEsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvbWFuL21hbjEvc3N2bmN2aWV3ZXIuMSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL19nZXRwYXRjaGVzLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2gsIHgxMXZuYy9taXNjL2luZXQ2dG80OiBTeW5jaHJvbml6ZSBzc3ZuYyAxLjAuMjYuCglJbXByb3ZlbWVudHMgdG8gcGVybCBzY3JpcHRzIGRlc2t0b3AuY2dpLCBjb25uZWN0X3N3aXRjaCBhbmQKCWluZXQ2dG80LgoKMjAxMC0wMy0yMSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBjbGFzc2VzL3NzbC9SRUFETUUsIGNsYXNzZXMvc3NsL29uZXRpbWVrZXksCgljbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLXNzbC5wYXRjaCwKCWNsYXNzZXMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2gsCgl4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY3Vyc29yLmMsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMva2V5Ym9hcmQuYywgeDExdm5jL21pc2MvTWFrZWZpbGUuYW0sIHgxMXZuYy9taXNjL1JFQURNRSwKCXgxMXZuYy9taXNjL2Nvbm5lY3Rfc3dpdGNoLCB4MTF2bmMvbWlzYy9kZXNrdG9wLmNnaSwKCXgxMXZuYy9taXNjL2luZXQ2dG80LCB4MTF2bmMvbWlzYy9wYW5uZXIucGwsCgl4MTF2bmMvbWlzYy91bHRyYXZuY19yZXBlYXRlci5wbCwgeDExdm5jL3JlbW90ZS5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3VzZXIuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogY2xhc3Nlcy9zc2w6CgkgICAgICAgICAgTWFueSBpbXByb3ZlbWVudHMgdG8gSmF2YSBTU0wgYXBwbGV0LCBvbmV0aW1la2V5IHNlcnZlckNlcnQgcGFyYW0sCgkgICAgICAgICAgZGVidWdnaW5nIHByaW50b3V0LCB1c2VyIGRpYWxvZ3MsIGNhdGNoIHNvY2tldCBleGNlcHRpb25zLAoJYXV0b2RldGVjdCB4MTF2bmMgZm9yIEdFVD0xLiAgeDExdm5jOiBtaXNjL3NjcmlwdHM6IGRlc2t0b3AuY2dpLAoJICAgICAgICAgIGluZXQ2dG80LCBwYW5uZXIucGwuICBYMTFWTkNfSFRUUFNfRE9XTkxPQURfV0FJVF9USU1FLCAtdW5peHB3ICV4eHgKCSAgICAgICAgICBkb2N1bWVudGVkLCBhbmQgY2FuIHJ1biB1c2VyIGNtZCBpbiBVTklYUFdfQ01ELiBGRF9YRE1DUF9JRiBmb3IKCSAgICAgICAgICBjcmVhdGUgc2NyaXB0LCBhdXRvZGV0ZWN0IGRtIG9uIHVkcDYgb25seS4gIFF1ZXJpZXM6IHBvaW50ZXJfeCwKCSAgICAgICAgICBwb2ludGVyX3ksIHBvaW50ZXJfc2FtZSwgcG9pbnRlcl9yb290LiAgU3dpdGNoIG9uIC14a2QgaWYga2V5c3ltcwoJICAgICAgICAgIHBlciBrZXkgPiA0IGluIGFsbCBjYXNlcy4gIGRhZW1vbiBtb2RlIGltcHJvdmVtZW50cyBmb3IKCSAgICAgICAgICBjb25uZWN0X3N3aXRjaCwgaW5ldDZ0bzQsIHVsdHJhdm5jX3JlcGVhdGVyLnBsLiAgRHluYW1pYyBjaGFuZ2Ugb2YKCSAgICAgICAgICAtY2xpcCBkbyBub3QgY3JlYXRlIG5ldyBmYiBpZiBXeEggaXMgdW5jaGFuZ2VkLgoKMjAxMC0wMy0yMSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBjb25maWd1cmUuYWM6IEkgdGhpbmsgdHdvIEhBVkVfWCdzIHdlcmUgbWlzc2VkLgoKMjAxMC0wMy0xMyAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jOiBGaXggY29tcGlsYXRpb24KCXdpdGhvdXQgVExTIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMC0wMy0xMyAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiBjbGllbnRfZXhhbXBsZXMvTWFrZWZpbGUuYW0sIGNsaWVudF9leGFtcGxlcy9TREx2bmN2aWV3ZXIuYzogRml4Cgljb21waWxhdGlvbiB3aXRoIG5ld2VyIGF1dG9tYWtlIEZvciBzb21lIHJlYXNvbiwgdGhpcyBkZXZlbG9wZXIncyBhdXRvbWFrZSBubyBsb25nZXIgdW5kZXJzdGFuZHMKCV9TT1VSQ0VTIGxpbmVzIGFueW1vcmUuIFdvcmsgYXJvdW5kIHRoYXQuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTAtMDMtMTMgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogY2xpZW50X2V4YW1wbGVzL01ha2VmaWxlLmFtLCBjb25maWd1cmUuYWM6IFJlbmFtZSBIQVZFX1ggLT4KCUhBVkVfWDExIFRoaXMgY2hhbmdlIGlzIGp1c3QgZm9yIGNvbnNpc3RlbmN5IHJlYXNvbnMuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTAtMDItMjIgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogY2xhc3Nlcy9zc2wvUkVBRE1FLAoJY2xhc3Nlcy9zc2wvdGlnaHR2bmMtMS4zZGV2N19qYXZhc3JjLXZuY3ZpZXdlci1zc2wucGF0Y2gsCgljbGFzc2VzL3NzbC91bHRyYXZuYy0xMDItSmF2YVZpZXdlci1zc2wtZXRjLnBhdGNoLAoJeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL3NjYW4uYywKCXgxMXZuYy9zc2xjbWRzLmMsIHgxMXZuYy9zc2xjbWRzLmgsIHgxMXZuYy9zc2x0b29scy5oLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiBjbGFzc2VzL3NzbDoKCUphdmEgU1NMIGFwcGxldCB2aWV3ZXIgbm93IHdvcmtzIHdpdGggY2VydGlmaWNhdGUgY2hhaW5zLiAgeDExdm5jOgoJUHJpbnRvdXQgb3B0aW9uIC1zc2xTY3JpcHRzLiAgU3VnZ2VzdCAtYXV0aCBndWVzcyBpbiBlcnJvciBtZXNzYWdlLgoJU2V0IGZha2Vfc2NyZWVuIHdpZHRoIGFuZCBoZWlnaHQuICBUZXN0IGZvciAra2IgaW4gWHZmYi4KCjIwMTAtMDEtMjIgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYzogbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jOiBkb24ndCBzZXQKCXNlcnZlclBvcnQgaW4gcmZiSW5pdENsaWVudCgpLiAgVGhlIHNlcnZlclBvcnQgbWVtYmVyIGlzIGFscmVhZHkgc2V0IGluIHJmYkdldENsaWVudCgpLCBpZiB3ZSBzZXQgaXQKCWFnYWluIGluIHJmYkluaXRDbGllbnQoKSwgdGhpcyBicmVha3MgcGxheWluZyBvZiB2bmNyZWMgZmlsZXMgKHRoaXMKCXJlbGllcyBvbiBzZXJ2ZXJQb3J0IHNldCB0byAtMSkuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CglTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTAtMDEtMTYgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jOiBMaWJWTkNDbGllbnQ6IG1ha2Ugc3VyZSB0aGF0IHRoZSBwb3J0IGlzCglpbml0aWFsaXplZCBjb3JyZWN0bHkuICBXaGlsZSBhdCBpdCwgYWRqdXN0IGNvZGluZyBzdHlsZS4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAxMC0wMS0xNSAgVmljIExlZSA8bGx5enNAMTYzLmNvbT4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmMsCglyZmIvcmZiY2xpZW50Lmg6IEFkZCBVbHRyYVZOQyBSZXBlYXRlciBzdXBwb3J0IGluIGxpYnZuY2NsaWVudCBbamVzOiBhZGp1c3RlZCBjb2Rpbmcgc3R5bGUsIG1hZGUgc3VyZSBwb3J0IGlzIGluaXRpYWxpemVkCgljb3JyZWN0bHldIFNpZ25lZC1vZmYtYnk6IFZpYyBMZWUgPGxseXpzQDE2My5jb20+IFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzCglTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTAtMDEtMDcgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL21pc2MvWGR1bW15LCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBhZGQgbW9kZWxpbmUgY3JlYXRpb24gdG8gWGR1bW15LgoKMjAxMC0wMS0wNyAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jc2VydmVyL2ZvbnQuYzogbGlidm5jc2VydmVyL2ZvbnQuYzogYWRkIHNvbWUgY2hlY2tzIHRvCglyZmJEcmF3Q2hhcigpLiAgSW4gc29tZSBjYXNlcyAoYmFkIGZvbnQgZGF0YSkgdGhlIGNvb3JkaW5hdGVzIGV2YWx1YXRlIHRvIDwwLAoJY2F1c2luZyBhIHNlZ2ZhdWx0IGluIHRoZSBmb2xsb3dpbmcgbWVtY3B5KCkuICBbamVzOiBrZWVwIHRoZSBvZmZzZXQsIGJ1dCBkbyBub3QgdHJ5IHRvIHNlZ2ZhdWx0XSBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CglTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMTAtMDEtMDcgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIHZuY3Rlcm0vTGludXhWTkMuYzogTGludXhWTkM6IEZpeCBmb3Igbm8gaW5wdXQgcG9zc2libGUgYmVjYXVzZSBvZgoJY3RybCBrZXkgYmVpbmcgc3R1Y2suICBJc3N1ZSB3YXMgcmVwb3J0ZWQgYXMgRGViaWFuIGJ1ZyAjIzU1NTk4OCwKCWh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz01NTU5ODggU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoJU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDEwLTAxLTA0ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiB2bmN0ZXJtL0xpbnV4Vk5DLmMsIHZuY3Rlcm0vVk5Db25zb2xlLmM6IExpbnV4Vk5DOiBmaXggc2VnZmF1bHQgYXQKCSJsaW51eHZuYyAxIC1oZWxwIi4gIFRoaXMgZml4ZXMgRGViaWFuIEJ1ZyAjMzk5NTAxOiBTd2l0Y2ggdG8gdHR5MS4gIFJ1biAibGludXh2bmMgMQoJLWhlbHAiLiAgWW91IHNlZSBoZWxwIHRleHQsIGZvbGxvd2VkIGJ5ICJTZWdtZW50YXRpb24gZmF1bHQiLiAgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoJU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDEwLTAxLTAyICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIHgxMXZuYy84dG8yNC5jLCB4MTF2bmMvOHRvMjQuaCwgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy9hbGxvd2VkX2lucHV0X3QuaCwgeDExdm5jL2FwcHNoYXJlLmMsIHgxMXZuYy9hdmFoaS5jLAoJeDExdm5jL2F2YWhpLmgsIHgxMXZuYy9ibGFja291dF90LmgsIHgxMXZuYy9jbGVhbnVwLmMsCgl4MTF2bmMvY2xlYW51cC5oLCB4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2Nvbm5lY3Rpb25zLmgsCgl4MTF2bmMvY3Vyc29yLmMsIHgxMXZuYy9jdXJzb3IuaCwgeDExdm5jL2VuYy5oLCB4MTF2bmMvZW51bXMuaCwKCXgxMXZuYy9ndWkuYywgeDExdm5jL2d1aS5oLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvaGVscC5oLAoJeDExdm5jL2luZXQuYywgeDExdm5jL2luZXQuaCwgeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9rZXlib2FyZC5oLAoJeDExdm5jL2xpbnV4ZmIuYywgeDExdm5jL2xpbnV4ZmIuaCwgeDExdm5jL21hY29zeC5jLAoJeDExdm5jL21hY29zeC5oLCB4MTF2bmMvbWFjb3N4Q0cuYywgeDExdm5jL21hY29zeENHLmgsCgl4MTF2bmMvbWFjb3N4Q0dQLmMsIHgxMXZuYy9tYWNvc3hDR1AuaCwgeDExdm5jL21hY29zeENHUy5jLAoJeDExdm5jL21hY29zeENHUy5oLCB4MTF2bmMvbWlzYy9SRUFETUUsIHgxMXZuYy9taXNjL1hkdW1teSwKCXgxMXZuYy9taXNjL3J4MTF2bmMsIHgxMXZuYy9taXNjL3J4MTF2bmMucGwsIHgxMXZuYy9vcHRpb25zLmMsCgl4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcGFyYW1zLmgsIHgxMXZuYy9wbS5jLCB4MTF2bmMvcG0uaCwKCXgxMXZuYy9wb2ludGVyLmMsIHgxMXZuYy9wb2ludGVyLmgsIHgxMXZuYy9yYXRlcy5jLCB4MTF2bmMvcmF0ZXMuaCwKCXgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3JlbW90ZS5oLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2Nhbi5oLAoJeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc2NyZWVuLmgsIHgxMXZuYy9zY3JvbGxldmVudF90LmgsCgl4MTF2bmMvc2VsZWN0aW9uLmMsIHgxMXZuYy9zZWxlY3Rpb24uaCwgeDExdm5jL3NvbGlkLmMsCgl4MTF2bmMvc29saWQuaCwgeDExdm5jL3NzbGNtZHMuYywgeDExdm5jL3NzbGNtZHMuaCwKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3NzbGhlbHBlci5oLCB4MTF2bmMvc3NsdG9vbHMuaCwKCXgxMXZuYy91aW5wdXQuYywgeDExdm5jL3VpbnB1dC5oLCB4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy91bml4cHcuaCwKCXgxMXZuYy91c2VyLmMsIHgxMXZuYy91c2VyLmgsIHgxMXZuYy91c2VyaW5wdXQuYywKCXgxMXZuYy91c2VyaW5wdXQuaCwgeDExdm5jL3V0aWwuYywgeDExdm5jL3V0aWwuaCwgeDExdm5jL3Y0bC5jLAoJeDExdm5jL3Y0bC5oLCB4MTF2bmMvd2luX3V0aWxzLmMsIHgxMXZuYy93aW5fdXRpbHMuaCwKCXgxMXZuYy93aW5hdHRyX3QuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hkYW1hZ2UuYywgeDExdm5jL3hkYW1hZ2UuaCwKCXgxMXZuYy94ZXZlbnRzLmMsIHgxMXZuYy94ZXZlbnRzLmgsIHgxMXZuYy94aW5lcmFtYS5jLAoJeDExdm5jL3hpbmVyYW1hLmgsIHgxMXZuYy94a2JfYmVsbC5jLCB4MTF2bmMveGtiX2JlbGwuaCwKCXgxMXZuYy94cmFuZHIuYywgeDExdm5jL3hyYW5kci5oLCB4MTF2bmMveHJlY29yZC5jLAoJeDExdm5jL3hyZWNvcmQuaCwgeDExdm5jL3h3cmFwcGVycy5jLCB4MTF2bmMveHdyYXBwZXJzLmg6IHgxMXZuYzoKCXNtYWxsIHR3ZWFrcyB0byBYZHVtbXksIHJ4MTF2bmMqLiAgQXBwbHkgU01BTExfRk9PVFBSSU5UIHRvCgktYXBwc2hhcmUgdGV4dC4gIENvcHlyaWdodCB5ZWFyIGNoYW5nZS4KCjIwMTAtMDEtMDIgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9yZmJ0aWdodHNlcnZlci5jOiB5ZWFyKys7CgoyMDEwLTAxLTAyICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9yZmJ0aWdodHNlcnZlci5jOiAKCXRpZ2h0dm5jLWZpbGV0cmFuc2Zlci9yZmJ0aWdodHNlcnZlci5jOiBlbmFibGVkIGZpeCBmb3IgdGlnaHQKCXNlY3VyaXR5IHR5cGUgZm9yIFJGQiAzLjggKGRlYmlhbiBidWcgNTE3NDIyLikKCjIwMTAtMDEtMDEgIFZpYyBMZWUgPGxseXpzQDE2My5jb20+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jLAoJcmZiL3JmYmNsaWVudC5oOiBBZGQgc3VwcG9ydCBmb3Igdmlld2VycyB0byBzZWxlY3Qgc2VjdXJpdHkgdHlwZXMgb24KCWRlbWFuZCBTaWduZWQtb2ZmLWJ5OiBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPiBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcwoJU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTEyLTI5ICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMvbWlzYy9YZHVtbXksIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogcmVuYW1lIC1jcmVhdGVfeCB0byAtY3JlYXRlX3hzcnYuCglIb3BlZnVsbHkgZG9uZSBmaXhpbmcgWGR1bW15LgoKMjAwOS0xMi0yOCAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvYXBwc2hhcmUuYywKCXgxMXZuYy9taXNjL1hkdW1teSwgeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuYywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmNfY21kLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9tYW4vbWFuMS9zc3ZuYy4xLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL21hbi9tYW4xL3Nzdm5jdmlld2VyLjEsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvdGlnaHQtdm5jdmlld2VyLWZ1CglsbC5wYXRjaCwgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc29saWQuYywgeDExdm5jL3RreDExdm5jLAoJeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy91bml4cHcuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBGaXggcHJvYmxlbXMgaW4KCS0td2l0aG91dC14IGJ1aWxkcy4gIEZpeCBjcmFzaCB3aXRoIC1RRCBxdWVyeSBmb3IgZGJ1cyBpbmZvLiAgQWRqdXN0Cgl3aW5kb3cgc2l6ZSBmb3Igc21hbGwgc2NyZWVucyBpbiAtZ3VpLiAgSW1wcm92ZSBGMSBoZWxwIGZvciB4ZG0sCglldGMuICBpbmNsdWRlIHNzdm5jIDEuMC4yNSBzb3VyY2UuCgoyMDA5LTEyLTI0ICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvbWlzYy9YZHVtbXksIHgxMXZuYy9zc2x0b29scy5oLAoJeDExdm5jL3VuaXhwdy5jLCB4MTF2bmMvdXNlci5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IHByZXBhcmVfeDExdm5jX2Rpc3Quc2ggZm9yIDAuOS4xMC4KCSAgICAgICAgLXhkdW1teV94dmZiLCAtc3ZjX3hkdW1teV94dmZiIGFuZCAtY3JlYXRlX3ggc2hvcnRoYW5kLiBseGRlCgkgICAgICAgIHNlc3Npb24uICBYZHVtbXkgaW1wcm92ZW1lbnRzIGFuZCByb290IG5vIGxvbmdlciByZXF1aXJlZC4KCjIwMDktMTItMjAgIFZpYyBMZWUgPGxseXpzQDE2My5jb20+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYzogRml4IHZlcnNpb24gY2hlY2tpbmcgKD49My44KSBmb3IKCXJmYlZuY0F1dGhPSyBjb25maXJtYXRpb24gd2hlbiBubyBwYXNzd29yZCByZXF1aXJlZCBJdCBzZWVtcyB0aGF0IHZpbm8gZG9lcyBub3Qgc2VuZCBBdXRoT0sgIHdoZW4gdGhlcmUgaXMgbm8gcGFzc3dvcmQKCXdpdGggYW5vbnltb3VzIFRMUywgYW5kIGl0IHNlZW1zIHRoYXQgdmlubyBpcyB0aGUgb25seSA8My44IFZOQwoJc2VydmVyIHRoYXQgaGFuZGxlcyBhbm9ueW1vdXMgVExTIGF0IGFsbCwgc28gbGV0J3Mgbm90IHdhaXQgZm9yIHRoZQoJcGFja2V0IHRoYXQgd2lsbCBuZXZlciBjb21lLiAgU2lnbmVkLW9mZi1ieTogVmljIExlZSA8bGx5enNAMTYzLmNvbT4gU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMKCVNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0xMi0yMSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvc3NsaGVscGVyLmMsCgl4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3VuaXhwdy5jLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiAtREVOQ19IQVZFX09QRU5TU0w9MCB0byBkaXNhYmxlIGVuYy5oCgkgICAgICAgIGJ1dCBzdGlsbCBoYXZlIHNzbC4gVHdlYWsgcHMgY29tbWFuZCBpbiBmaW5kX2Rpc3BsYXkuIFRyeSB0byBoYW5kbGUgICAgICAgICBBSVggc3UuIElnbm9yZSBhbiBpbml0aWFsIG5ld2xpbmUgYXQgbG9naW46IGZvciAtdW5peHB3LgoKMjAwOS0xMi0xOCAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nOiBDaGFuZ2VMb2cgdHlwbwoKMjAwOS0xMi0xOCAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3VuaXhwdy5jLAoJeDExdm5jL3VzZXIuYywgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogQWRkIHRhZz0uLi4gdG8gdW5peHB3IG9wdHMgdG8gc2V0IEZEX1RBRy4KCVByZWZlciBYdmZiIG92ZXIgWGR1bW15LiAgUmVkdWNlIHdhaXQgdGltZSBmb3IgaHR0cHMuIEFkZCAnTG9naW4KCXN1Y2NlZWRlZCcgb3V0cHV0IHRvIHVuaXhwdyBwYW5lbC4KCjIwMDktMTItMTggIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy91bml4cHcuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBmaXgga2V5Y29kZSBhbmQgb3RoZXIKCSAgICAgICAgcmVtb3RlIGNvbnRyb2wgYWN0aW9ucyB1bmRlciBESVJFQ1Q6IHdpdGggYW4gZXh0cmEgWEZsdXNoIGFuZCBvdGhlcgoJICAgICAgICBzYWZldHkgbWVhc3VyZXMuICBmZmx1c2goc3RkZXJyKSBtdWNoIGluIHN1X3ZlcmlmeS4gIE1ha2UgdGhlCgkgICAgICAgIC11bml4cHcgZW52LiB2YXJzIFVOSVhQV19ESVNBQkxFX1NTTCBhbmQgVU5JWFBXX0RJU0FCTEVfTE9DQUxIT1NUCgkgICAgICAgIHdvcmsgY29ycmVjdGx5LiAgTWFrZSAtbG9vcGJnIGFjdHVhbGx5IGltcGx5IC1iZy4KCjIwMDktMTItMTUgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL2luZXQuYywKCXgxMXZuYy9taXNjL01ha2VmaWxlLmFtLCB4MTF2bmMvbWlzYy9jb25uZWN0X3N3aXRjaCwKCXgxMXZuYy9taXNjL3VsdHJhdm5jX3JlcGVhdGVyLnBsLCB4MTF2bmMvb3B0aW9ucy5jLAoJeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3BvaW50ZXIuYywgeDExdm5jL3JlbW90ZS5jLAoJeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3VuaXhwdy5jLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jLAoJeDExdm5jL3hkYW1hZ2UuYywgeDExdm5jL3hldmVudHMuYzogWCBwcm9wcyBuYW1lcyB2aWEgZW52IHZhci4KCWZha2VidXR0b25ldmVudCBhY3Rpb24sIGNvbm5lY3Rfc3dpdGNoIGFuZCB1bHRyYXZuY19yZXBlYXRlci5wbAoJc2NyaXB0cywgZmluZF9kaXNwbGF5IHRyeSBGRF9YRE0gb24gZmFpbHVyZSwgLXF1aWV0IGFuZCAtc3RvcmVwYXNzd2QKCWNoYW5nZXMsIGJldHRlciBwb3J0IDExMyB0ZXN0aW5nLgoKMjAwOS0xMi0wNyAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY2xlYW51cC5jLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zc2xoZWxwZXIuYywKCXgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiBYMTFWTkNfRVhUUkFfSFRUUFNfUEFSQU1TLAoJWDExVk5DX0hUVFBfTElTVEVOX0xPQ0FMSE9TVCwgWDExVk5DX1JFT1BFTl9TTEVFUF9NQVgsCgktZmluZGF1dGgvLWF1dGggZ3Vlc3MgRkRfWERNPTEgZm9yIHJvb3QsIHdvcmsgYXJvdW5kIHhob3N0CglTSTpsb2NhbHVzZXI6cm9vdC4KCjIwMDktMTItMDUgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogY2xhc3Nlcy9zc2wvc3Nfdm5jdmlld2VyLAoJY2xhc3Nlcy9zc2wvdWx0cmF2bmMtMTAyLUphdmFWaWV3ZXItc3NsLWV0Yy5wYXRjaCwKCXgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9hcHBzaGFyZS5jLCB4MTF2bmMvZ3VpLmMsCgl4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuY19kZWZzLmM6IFVwZGF0ZSBqYXZhCglhbmQgc2NyaXB0cyBpbiBjbGFzc2VzL3NzbC4gIHgxMXZuYzogZGVjbGFyZSBjcnlwdCgpIG9uIGFsbAoJcGxhdGZvcm1zLiAgbW9yZSB3aXNoZXMuCgoyMDA5LTEyLTAyICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9NYWtlZmlsZS5hbSwgeDExdm5jL1JFQURNRSwKCXgxMXZuYy9hcHBzaGFyZS5jLCB4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2N1cnNvci5jLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9vcHRpb25zLmMsCgl4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcG0uYywgeDExdm5jL3BvaW50ZXIuYywgeDExdm5jL3JlbW90ZS5jLAoJeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy91dGlsLmMsIHgxMXZuYy91dGlsLmgsCgl4MTF2bmMvd2luX3V0aWxzLmMsIHgxMXZuYy93aW5fdXRpbHMuaCwgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hldmVudHMuYywKCXgxMXZuYy94aW5lcmFtYS5jLCB4MTF2bmMveHJhbmRyLmM6IHgxMXZuYzogLWFwcHNoYXJlIG1vZGUgZm9yCglzaGFyaW5nIGFuIGFwcGxpY2F0aW9uIHdpbmRvd3MgaW5zdGVhZCBvZiB0aGUgZW50aXJlIGRlc2t0b3AuIG1hcAoJcG9ydCArIDU1MDAgaW4gcmV2ZXJzZSBjb25uZWN0LiAgQWRkIGlkX2NtZCByZW1vdGUgY29udHJvbCBmdW5jdGlvbnMKCWZvciBpZCAoYW5kIG90aGVyKSB3aW5kb3dzLiAgQWxsb3cgemVybyBwb3J0IGluIFNTTCByZXZlcnNlCgljb25uZWN0aW9ucy4gIEFkanVzdCBkZWxheXMgYmV0d2VlbiBtdWx0aXBsZSByZXZlcnNlIGNvbm5lY3Rpb25zOwoJWDExVk5DX1JFVkVSU0VfU0xFRVBfTUFYIGVudiB2YXIuICBBZGQgc29tZSBtaXNzaW5nIG11dGV4IGxvY2tzOyBhZGQKCUlOUFVUX0xPQ0sgYW5kIHRocmVhZHNfZHJvcF9pbnB1dC4gIE1vcmUgc2FmZXR5IGluIC10aHJlYWRzIG1vZGUgZm9yCgluZXcgZnJhbWVidWZmZXIgY2hhbmdlLiAgRml4IHNvbWUgc3RkZXJyIGxlYWtpbmcgaW4gLWluZXRkIG1vZGUuCgoyMDA5LTEyLTAxICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIGxpYnZuY3NlcnZlci9jdXJzb3IuYywgbGlidm5jc2VydmVyL3NvY2tldHMuYywKCWxpYnZuY3NlcnZlci90cmFuc2xhdGUuYzogQWRkIGxvY2tzIG9mIHVwZGF0ZU11dGV4IGluCglyZmJSZWRyYXdBZnRlckhpZGVDdXJzb3IoKSBhbmQgcmZiU2V0Q2xpZW50Q29sb3VyTWFwKCkuICBVcCBsaXN0ZW4KCWxpbWl0IGZyb20gNSB0byAzMi4KCjIwMDktMTEtMTggIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvY29ubmVjdF9ici50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3Nzdm5jLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuY19jbWQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9tYW4vbWFuMS9zc3ZuY3ZpZXdlci4xLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL19idW5kbGUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvdGlnaHQtdm5jdmlld2VyLWZ1CglsbC5wYXRjaDogc3N2bmMvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyIHVwZGF0ZS4KCjIwMDktMTEtMTggIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2NsZWFudXAuYywKCXgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvY3Vyc29yLmMsIHgxMXZuYy9jdXJzb3IuaCwKCXgxMXZuYy9lbmMuaCwgeDExdm5jL2hlbHAuYywgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2NyZWVuLmMsCgl4MTF2bmMvc2VsZWN0aW9uLmMsIHgxMXZuYy9zb2xpZC5jLCB4MTF2bmMvc3NsdG9vbHMuaCwKCXgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy91bml4cHcuYywgeDExdm5jL3VzZXIuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hldmVudHMuYywgeDExdm5jL3hldmVudHMuaDogeDExdm5jOgoJLWZpbmRhdXRoLCAtYXV0aCBndWVzcywgJiBldGMuCgoyMDA5LTExLTExICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvbGlzdGVuLmMsIHJmYi9yZmJjbGllbnQuaDogbGlidm5jY2xpZW50OiBiZXR0ZXIKCXJldHVybiB2YWx1ZSBmb3Igbm9uLWZvcmtpbmcgbGlzdGVuLiAgVGhlIHJldHVybiB2YWx1ZSBub3cgYmV0dGVyIHJlZmxlY3RzIHdoYXQgaGFzIGhhcHBlbmVkOiAxIG9uIHN1Y2Nlc3MKCShpbmNvbWluZyBjb25uZWN0aW9uIG9uIGxpc3RlbiBzb2NrZXQsIHdlIGFjY2VwdGVkIGl0IHN1Y2Nlc3NmdWxseSksCgktMSBvbiBlcnJvciwgMCBvbiB0aW1lb3V0LiAgQWxzbyBjaGFuZ2UgdGhlIHNlbGVjdCBjYWxscyB0byBub3QgY2hlY2sgX2FsbF8gcG9zc2libGUgZmlsZQoJZGVzY3JpcHRvcnMuICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CglTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDktMTEtMDUgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY2NsaWVudC9saXN0ZW4uYywgbGlidm5jY2xpZW50L3JmYnByb3RvLmMsCglsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmMsIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogRml4IGNoZWNrcyBmb3IKCXNvY2tldCB2YWx1ZXMsIDAgaXMgYSBsZWdhbCB2YWx1ZS4gIFRvIG1ha2UgdGhpcyB3b3JrLCB3ZSBhbHNvIGhhdmUgdG8gaW5pdGlhbGl6ZSBzb2NrZXRzIHRvIGEgZGVmYXVsdAoJdmFsdWUgb2YgLTEuICBBbHNvIGNsb3NlIGEgY2xpZW50IGxpc3RlbiBzb2NrZXQgaWYgaXQncyBvcGVuLiAgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoJU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTEwLTMxICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmM6IGxpYnZuY2NsaWVudDogaW5jbHVkZSB3aW5zb2NrMi5oIGluCgl2bmN2aWV3ZXIuYy4gIGZpeGVzIHdhcm5pbmcgYWJvdXQgY2xvc2Vzb2NrZXQgYmVpbmcgaW1wbGljaXRseSBkZWNsYXJlZC4gIFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCVNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0xMS0wNSAgVmljIExlZSA8bGx5enNAMTYzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzogQ2hhbmdlIEdudVRMUyBtaW5pbXVtIHJlcXVpcmVtZW50IHRvIDIuNC4wIFNpZ25lZC1vZmYtYnk6IFZpYyBMZWUgPGxseXpzQDE2My5jb20+IFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzCglTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDktMTEtMDQgIFZpYyBMZWUgPGxseXpzQDE2My5jb20+CgoJKiBjbGllbnRfZXhhbXBsZXMvcHBtdGVzdC5jLCBleGFtcGxlcy9leGFtcGxlLmMsCglsaWJ2bmNjbGllbnQvc29ja2V0cy5jLCBsaWJ2bmNjbGllbnQvenJsZS5jLCBsaWJ2bmNzZXJ2ZXIvY3Vyc29yLmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL3JmYnRpZ2h0c2VydmVyLmMsCgl2bmN0ZXJtL1ZOQ29uc29sZS5jOiBGaXggdmFyaW91cyBjb21waWxhdGlvbiB3YXJuaW5ncyBTaWduZWQtb2ZmLWJ5OiBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPiBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcwoJU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTEwLTA3ICBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPgoKCSogbGlidm5jY2xpZW50L3JmYnByb3RvLmMsIGxpYnZuY3NlcnZlci92bmNhdXRoLmMsIHJmYi9yZmJjbGllbnQuaCwKCXJmYi9yZmJwcm90by5oOiBBZGQgTVNMb2dvbiBzZWN1cml0eSB0eXBlIFNpZ25lZC1vZmYtYnk6IFZpYyBMZWUgPGxseXpzQDE2My5jb20+IFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzCglTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDktMTAtMzEgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogQVVUSE9SUzogQWRkIEFsZXhhbmRlciB0byB0aGUgYXV0aG9ycyBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDktMTAtMzEgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGNsaWVudF9leGFtcGxlcy9TREx2bmN2aWV3ZXIuYzogU0RMdm5jdmlld2VyOiBkb24ndCBjYWxsIGNsZWFuIHVwCgl0aGUgc2FtZSBjbGllbnQgdHdpY2UuICBJZiByZmJJbml0Q29ubmVjdGlvbiBmYWlscywgaXQgY2xlYW5zIHVwIHRoZSBjbGllbnQsIHNvIHByb3RlY3QKCWFnYWluc3QgZG9pbmcgaXQgb3Vyc2VsdmVzIGFnYWluLiAgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoJU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTEwLTMwICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmM6IFNETHZuY3ZpZXdlcjogYWRkIFNJR0lOVCBoYW5kbGVyCgl0byBiZSBhYmxlIHRvIGFjdHVhbGx5IHN0b3AgcHJvZ3JhbS4gIFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCVNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0xMC0yNiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBTREx2bmN2aWV3ZXI6IHVzZSAtbGlzdGVubm9mb3JrCgl3aGVuIC1saXN0ZW4gc3BlY2lmaWVkLiAgQXMgLWxpc3RlbiBtb2RlIGlzbid0IHJlYWxseSB3b3JraW5nIHVuZGVyIFVOSVggYW5kIG5vdCBhdCBhbGwgdW5kZXIKCXdpbmRvd3MsIHVzZSAtbGlzdGVubm9mb3JrIGFuZCBhbiBvdXRlciBsaXN0ZW4gbG9vcCBpbnN0ZWFkLiAgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoJU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTEwLTI2ICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBsaWJ2bmNjbGllbnQvbGlzdGVuLmMsIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywgcmZiL3JmYmNsaWVudC5oOiAKCWxpYnZuY2NsaWVudDogYWRkIGEgbm9uLWZvcmtpbmcgbGlzdGVuIGZ1bmN0aW9uLiAgRm9ya2luZyB0aGUgd2hvbGUgcHJvY2VzcyBmcm9tIGRlZXAgd2l0aGluIGEgbGlicmFyeSBjYWxsIGRvZXMgbm90CglyZWFsbHkgd29yayBhdCBhbGwgd2l0aCBhcHBzIHRoYXQgdXNlIG11bHRpcGxlIHRocmVhZHMsIGkuZS4gZXZlcnkKCXJlYXNvbmFibHkgbW9kZXJuIEdVSSBhcHAuIFNvLCBwcm92aWRlIGEgbm9uLWZvcmtpbmcgbGlzdGVuIGZ1bmN0aW9uCglzbyB0aGF0IHRoZSBjYWxsZXIgY2FuIGRlY2lkZSBpZiB0byBmb3JrLCBzdGFydCBhIHRocmVhZCwgZXRjLiAgVGhpcyBpbXBsZW1lbnRhdGlvbiBhZGRzIGEgdGltZW91dCBwYXJhbWV0ZXIgdG8gYmUgYWJsZSB0byBjYWxsIHRoZQoJbGlzdGVuIGZ1bmN0aW9uIG11bHRpcGxlIHRpbWVzIHNvIHRoYXQgaXQncyBwb3NzaWJsZSB0byBkbyBzdGguIGVsc2UKCWluIGJldHdlZW4sIGUuZy4gYWJvcnQgbGlzdGVuaW5nLiAgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoJU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTEwLTIxICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmM6IFNETHZuY3ZpZXdlcjogbWFrZSBsaXN0ZW4gbW9kZQoJd29yayBfc29tZXdoYXRfLiAgc2V0IHRoZSBwb3J0IHRvIGxpc3RlbiBvbiBhbmQgcmVhbGx5IGVuc3VyZSB0aGF0IHRoZSB3aW5kb3cgb2YgdGhlCglmb3JrKCllZCBpbnN0YW5jZSBpcyBjbG9zZWQuICB3b3JrcyBzb21ld2hhdDogaXQncyBub3cgYWN0dWFsbHkgcG9zc2libGUgdG8gbGlzdGVuIGZvciBhbiBpbmNvbWluZwoJY29ubmVjdGlvbiBhbmQgdG8gY2xvc2UgaXQgYWdhaW4sIGJ1dCB0aGUgc2Vjb25kIGNvbm5lY3Rpb24gYXR0ZW1wdAoJZmFpbHMgd2l0aCAnWElPOiAgZmF0YWwgSU8gZXJyb3IgMTEgKFJlc291cmNlIHRlbXBvcmFyaWx5Cgl1bmF2YWlsYWJsZSknLiB0aGlzIGNvdWxkIHJlbGF0ZSB0byB0aGUgZmFjdCB0aGF0IFNETCB1c2VzIHRocmVhZHMKCWludGVybmFsbHkgYW5kIHdlJ3JlIGZvcmsoKWluZyBoZXJlLi4uICBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CglTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDktMTAtMzAgIENocmlzdGlhbiBCZWllciA8ZG9udG1pbmRAZnJlZXNoZWxsLm9yZz4KCgkqIGxpYnZuY2NsaWVudC9zb2NrZXRzLmM6IGxpYnZuY2NsaWVudDogbWFrZSBsaXN0ZW5BdFRDUFBvcnQoKSB3b3JrCgl1bmRlciB3aW5kb3dzLiAgQWN0dWFsbHksIGluaXRTb2NrZXRzKCkgaGFzIHRvIGJlIGNhbGxlZCBldmVyeXdoZXJlIHdlIHBvc3NpYmx5IHVzZQoJc29ja2V0cyB0aGUgZmlyc3QgdGltZS4gIEFsc28gZml4IHJldHVybiB2YWx1ZSBvZiBpbml0U29ja2V0cygpLiAgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoJU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTEwLTMwICBBbGV4YW5kZXIgRG9yb2toaW5lIDxhcnJlbmxleEBnbWFpbC5jb20+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jLAoJcmZiL3JmYmNsaWVudC5oOiBsaWJ2bmNjbGllbnQ6IEFkZCBGaW5pc2hlZEZyYW1lQnVmZmVyVXBkYXRlCgljYWxsYmFjayBXaGVuIHdvcmtpbmcgb24gYSBwcm9ncmFtIHdoaWNoIHNlYXJjaGVzIHRoZSBkaXNwbGF5IGZvciBzb21lIGltYWdlLAoJb25lIGRvZXMgbm90IHdhbnQgdG8gc2VhcmNoIGFnYWluIHdpdGhvdXQgZ2V0dGluZyBhbiBGQiB1cGRhdGUuICBBZGQKCWEgY2FsbGJhY2sgdG8gbWFrZSB0aGlzIHBvc3NpYmxlLgoKMjAwOS0xMC0zMCAgQWxleGFuZGVyIERvcm9raGluZSA8YXJyZW5sZXhAZ21haWwuY29tPgoKCSogbGlidm5jY2xpZW50L3NvY2tldHMuYzogRml4IGhvc3RuYW1lIHJlc29sdXRpb24gcHJvYmxlbXMgdW5kZXIKCVdpbmRvd3MgT24gV2luZG93cywgdGhlIFdTQSBzeXN0ZW0gbmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQgdG8gYmUgYWJsZSB0bwoJbG9vayB1cCBob3N0IG5hbWVzLiAgVGhpcyBwYXRjaCBhbHNvIGNoYW5nZXMgKmFkZHIgPSAwIHRvIHVzZSB0aGUgY29uc3RhbnQKCUlOQUREUl9MT09QQkFDSyBpbnN0ZWFkLCB3aGljaCBzZWVtcyB0byBiZSByZXF1aXJlZCBvbiBXaW5kb3dzLgoKMjAwOS0xMC0xNyAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY2xlYW51cC5jLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL3NvbGlkLmMsIHgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogV29ya2Fyb3VuZCBmb3IgaW5hbmUKCVhfU2htQXR0YWNoIGluY29tcGF0aWJpbGl0eSBpbiBYb3JnLCAtc29saWQgc3VwcG9ydCBpbiB4ZmNlLAoJc2hvd3JmYmF1dGggb3B0aW9uLgoKMjAwOS0xMC0wOCAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvUkVBRE1FLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuYywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc192bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3N2bmMudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL21hbi9tYW4xL3Nzdm5jLjEsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvbWFuL21hbjEvc3N2bmN2aWV3ZXIuMSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2g6IFN5bmNocm9uaXplIHNzdm5jIHNvdXJjZSwgZXRjLiAgIE5lYXJseSB0aGUgMS4wLjI0CglyZWxlYXNlLi4uCgoyMDA5LTEwLTA4ICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIGNsYXNzZXMvc3NsL3RpZ2h0dm5jLTEuM2RldjdfamF2YXNyYy12bmN2aWV3ZXItc3NsLnBhdGNoLAoJeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsCgl4MTF2bmMvY29ubmVjdGlvbnMuaCwgeDExdm5jL2VuYy5oLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsCgl4MTF2bmMvcGFyYW1zLmgsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3JlbW90ZS5oLCB4MTF2bmMvc2NyZWVuLmMsCgl4MTF2bmMvc2VsZWN0aW9uLmMsIHgxMXZuYy9zZWxlY3Rpb24uaCwgeDExdm5jL3NvbGlkLmMsCgl4MTF2bmMvc29saWQuaCwgeDExdm5jL3NzbGNtZHMuYywgeDExdm5jL3NzbGNtZHMuaCwKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3NzbGhlbHBlci5oLCB4MTF2bmMvc3NsdG9vbHMuaCwKCXgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy91bml4cHcuYywKCXgxMXZuYy91bml4cHcuaCwgeDExdm5jL3VzZXIuYywgeDExdm5jL3V0aWwuYywgeDExdm5jL3V0aWwuaCwKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYywKCXgxMXZuYy94ZGFtYWdlLmMsIHgxMXZuYy94ZGFtYWdlLmgsIHgxMXZuYy94ZXZlbnRzLmMsCgl4MTF2bmMveGV2ZW50cy5oLCB4MTF2bmMveHdyYXBwZXJzLmM6IEh1Z2UgbnVtYmVyIG9mIGNoYW5nZXMsIHNlZQoJeDExdm5jL0NoYW5nZUxvZwoKMjAwOS0xMC0wNyAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYzogU29tZSBicm9rZW4gYnVpbGQgZW52aXJvbm1lbnRzIHRyZWF0CglmcHJpbnRmKGZoLCBidWYpIGFzIGEgZmF0YWwgZXJyb3IuLi4KCjIwMDktMTAtMDcgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogbGlidm5jc2VydmVyL21haW4uYzogU29tZSBicm9rZW4gYnVpbGQgZW52aXJvbm1lbnRzIHRyZWF0CglmcHJpbnRmKGZoLCBidWYpIGFzIGEgZmF0YWwgZXJyb3IuLi4KCjIwMDktMTAtMDIgIFZpYyBMZWUgPGxseXpzQDE2My5jb20+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3Rscy5jLCByZmIvcmZiY2xpZW50LmgsCglyZmIvcmZicHJvdG8uaDogQWRkIFZlTkNyeXB0IHN1cHBvcnQgaW4gbGlidm5jY2xpZW50IFNpZ25lZC1vZmYtYnk6IFZpYyBMZWUgPGxseXpzQDE2My5jb20+CgoyMDA5LTEwLTAyICBDaHJpc3RpYW4gQmVpZXIgPGRvbnRtaW5kQGZyZWVzaGVsbC5vcmc+CgoJKiBjb25maWd1cmUuYWMsIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvc29ja2V0cy5jLAoJcmZiL3JmYi5oLCB2bmN0ZXJtL01ha2VmaWxlLmFtOiBtaW5ndzMyIGNyb3NzY29tcGlsZSBmaXhlcy4gIFNPQ0tFVCBpcyByZWRlZmluZWQgaW4gd2luc29jazIuaCBzbyAjdW5kZWYgaXQgd2hlcmUgd2luc29jazIuaCBpcwoJaW5jbHVkZWQuIFRoZSBjaGFuZ2VzIGluIHJmYnByb3RvLmMgY2lyY3VtdmVudCBjcm9zc2NvbXBpbGVyIGVycm9ycwoJbGlrZSAnU19JRk1UJyB1bmRlY2xhcmVkIC4uLicsIHRoZSBNYWtlZmlsZS5hbSBjaGFuZ2VzIGF2b2lkCglidWlsZGluZyBsaW51eCBzcGVjaWZpYyBzdHVmZiBmb3IgYSB3aW4zMiBob3N0IHRhcmdldC4gIEFsc28gYWRkZWQKCWNvbmZpZ3VyZSBvcHRpb24gdG8gc3BlY2lmeSBzZGwtY29uZmlnLiAgU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoJU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTEwLTAyICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIGNvbmZpZ3VyZS5hYzogRmFsbGJhY2sgdG8gLS13aXRob3V0LWNsaWVudC10bHMgaWYgR05VVExTIGNvdWxkIG5vdAoJYmUgZm91bmQgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTEwLTAxICBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPgoKCSogY29uZmlndXJlLmFjLCBsaWJ2bmNjbGllbnQvTWFrZWZpbGUuYW0sIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLAoJbGlidm5jY2xpZW50L3NvY2tldHMuYywgbGlidm5jY2xpZW50L3Rscy5jLCBsaWJ2bmNjbGllbnQvdGxzLmgsCglsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmMsIHJmYi9yZmJjbGllbnQuaCwgcmZiL3JmYnByb3RvLmg6IEFkZAoJYW5vbnltb3VzIFRMUyBzdXBwb3J0IGluIGxpYnZuY2NsaWVudCBTaWduZWQtb2ZmLWJ5OiBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPgoKMjAwOS0xMC0wMiAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiB0ZXN0L2VuY29kaW5nc3Rlc3QuYzogZW5jb2RpbmdzdGVzdDogZml4IG11bHRpLXRocmVhZGluZyBpc3N1ZSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDktMTAtMDIgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogdGVzdC9lbmNvZGluZ3N0ZXN0LmM6IGVuY29kaW5nc3Rlc3Q6IGZpeCB3aGl0ZXNwYWNlIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0xMC0wMiAgSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoJKiBBVVRIT1JTOiBBZGQgQ2hyaXN0aWFuIEJlaWVyIHRvIHRoZSBBVVRIT1JTIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0xMC0wMiAgQ2hyaXN0aWFuIEJlaWVyIDxkb250bWluZEBmcmVlc2hlbGwub3JnPgoKCSogbGlidm5jY2xpZW50L3JmYnByb3RvLmM6IEZpeCBJc1VuaXhTb2NrZXQoKSBUaGlzIGlzIGEgcHVyZSBmdW5jdGlvbmFsaXR5IGZpeDogYWNjb3JkaW5nIHRvIGl0cyBtYW5wYWdlLCBzdGF0KCkKCXJldHVybnMgMCBvbiBzdWNjZXNzLiBDaGVja2luZyBmb3IgYSByZXR1cm4gdmFsdWUgb2YgemVybyBmaXhlcwoJaW5jb3JyZWN0IHJlc3VsdHMgb2YgSXNVbml4U29ja2V0KCkuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDktMDktMjcgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogQVVUSE9SUzogQWRkIFZpYyBMZWUgdG8gdGhlIGF1dGhvciBsaXN0IFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0wOS0xNCAgVmljIExlZSA8bGx5enNAMTYzLmNvbT4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jOiBGaXggYnVnIGZvciBsb2dnaW5nIHVuc3VwcG9ydGVkIHNlY3VyaXR5Cgl0eXBlcyBTaWduZWQtb2ZmLWJ5OiBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPgoKMjAwOS0wOS0xNCAgVmljIExlZSA8bGx5enNAMTYzLmNvbT4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jOiBGaXggYnVnIGZvciBWTkMgU2VydmVyIHZlcnNpb24gNCBTaWduZWQtb2ZmLWJ5OiBWaWMgTGVlIDxsbHl6c0AxNjMuY29tPgoKMjAwOS0wOC0xMCAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2VuYy5oLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL3BvaW50ZXIuYywgeDExdm5jL3VuaXhwdy5jLCB4MTF2bmMvdW5peHB3LmgsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuY19kZWZzLmM6IEltcHJvdmVtZW50cwoJdG8gLXVuaXhwd19jbWQgYW5kIC11bml4cHdfbmlzLiAgRXhwZXJpbWVudGFsIFgxMVZOQ19XQVRDSF9EWF9EWT0xCglmb3IgYnVnZ3kgdGhlbWUgbWVudXMsIHNlZToKCWh0dHA6Ly91YnVudHVmb3J1bXMub3JnL3Nob3d0aHJlYWQucGhwP3Q9MTIyMzQ5MAoKMjAwOS0wNy0xMSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jX2RlZnMuYzogU2V0dXAgZm9yIHgxMXZuYyB2ZXJzaW9uCgkwLjkuOQoKMjAwOS0wNi0xOSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBjbGFzc2VzL3NzbC9SRUFETUUsCgljbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLXNzbC5wYXRjaCwKCWNsYXNzZXMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2gsIHgxMXZuYy9SRUFETUU6IAoJQWRkIHByb3h5SG9zdCBhbmQgcHJveHlQb3J0IGphdmEgYXBwbGV0IHBhcmFtcy4KCjIwMDktMDYtMTggIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogY2xhc3Nlcy9zc2wvc3Nfdm5jdmlld2VyLAoJY2xhc3Nlcy9zc2wvdGlnaHR2bmMtMS4zZGV2N19qYXZhc3JjLXZuY3ZpZXdlci1zc2wucGF0Y2gsCgljbGFzc2VzL3NzbC91bHRyYXZuYy0xMDItSmF2YVZpZXdlci1zc2wtZXRjLnBhdGNoLAoJeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy9SRUFETUUudHh0LAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuY19jbWQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9idWlsZC51bml4LAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL21hbi9tYW4xL3Nzdm5jdmlld2VyLjEsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvdGlnaHQtdm5jdmlld2VyLWZ1CglsbC5wYXRjaDogY2xhc3Nlcy9zc2w6IGphdmEgdmlld2VyIG5vdyBoYW5kbGVzIGF1dGgtYmFzaWMgcHJveHkKCWxvZ2lucy4gIG1pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyOiB1cGRhdGUgc3N2bmMuCgoyMDA5LTA2LTE2ICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYzogRml4IHR3byBpc3N1ZXMgaW4gcmZiR2V0Q2xpZW50KCkgVGhlcmUgd2FzIGFuIHVubmVjZXNzYXJ5IGFzc2lnbm1lbnQsIGFuZCBhbiBhc3NpZ25tZW50IG9mIGEgc3RyaW5nCgl0aGF0IHdhcyB0byBiZSBmcmVlKCllZCBsYXRlciwgc28gaXQgaGFzIHRvIGJlIHN0cmR1cCgpZWQuICBCb3RoIGlzc3VlcyBzcG90dGVkIGJ5IFJvbWFuIEhlbGQuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDktMDYtMTQgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zc2xoZWxwZXIuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogCglYMTFWTkNfUkVGTEVDVF9QQVNTV09SRCBlbnYuIHZhci4sIHdhcm5pbmcgYWJvdXQgY29tcGl6LCBpbXByb3ZlCglzaW5nbGUtcG9ydC4KCjIwMDktMDUtMjIgIFN0ZWZhbiBCZWNrZXIgPHN0ZWZhbmIyQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYzogQWRkIGNsb3NlKCkgdG8gcmZiQ2xpZW50Q2xlYW51cCgpIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0wNS0yMSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvOHRvMjQuYywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvY29ubmVjdGlvbnMuaCwgeDExdm5jL2N1cnNvci5jLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9taXNjL3R1cmJvdm5jL2NvbnZlcnQsCgl4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcmF0ZXMuYywKCXgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjYW4uYywgeDExdm5jL3NjcmVlbi5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy91dGlsLmMsIHgxMXZuYy91dGlsLmgsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZXZlbnRzLmMsCgl4MTF2bmMveHJlY29yZC5jLCB4MTF2bmMveHdyYXBwZXJzLmM6IFRocmVhZCBzYWZldHkuICBGaXggLWNsaXAgLWluCgktcmF3ZmIuICBUcnkgdG8gYXZvaWQgWG9yZyBzdHVjayBrZXkgYnVnLgoKMjAwOS0wNS0yMSAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYywgbGlidm5jc2VydmVyL21haW4uYywKCWxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgbGlidm5jc2VydmVyL3RpZ2h0LmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL3JmYnRpZ2h0c2VydmVyLmMsCglsaWJ2bmNzZXJ2ZXIvemxpYi5jLCBsaWJ2bmNzZXJ2ZXIvenJsZS5jLAoJbGlidm5jc2VydmVyL3pybGVlbmNvZGV0ZW1wbGF0ZS5jLCByZmIvcmZiLmg6IFRocmVhZCBzYWZldHkgZm9yCgl6cmxlLCB6bGliLCB0aWdodC4gIFByb3Bvc2VkIHRpZ2h0IHNlY3VyaXR5IHR5cGUgZml4IGZvciBkZWJpYW4gYnVnCgk1MTc0MjIuCgoyMDA5LTA1LTIwICBsbHl6cyA8bGx5enNAMTYzLmNvbT4KCgkqIHJmYi9yZmJjbGllbnQuaDogRXhwb3J0IHRoZSBmdW5jdGlvbnMgU3VwcG9ydHNDbGllbnQyU2VydmVyIGFuZAoJU3VwcG9ydHNTZXJ2ZXIyQ2xpZW50IFRoZXNlIGFyZSB1c2VmdWwgZnVuY3Rpb25zIGZvciBWTkMgY2xpZW50cywgc28gbGV0J3MgZXhwb3J0IHRoZW0gZm9yCglldmVyeWJvZHkgdG8gdXNlLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTA1LTEyICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIEFVVEhPUlM6IEFkZCBCZW4gdG8gdGhlIGF1dGhvcnMgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTA1LTEyICBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCgkqIGF1dG9nZW4uc2g6IE1ha2UgYXV0b2dlbi5zaCBleGVjdXRhYmxlIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0wNS0xMiAgQmVuIEtsb3BmZW5zdGVpbiA8YmVua2xvcEBnbWFpbC5jb20+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3NvY2tldHMuYywgcmZiL3JmYmNsaWVudC5oOiAKCWxpYnZuY2NsaWVudDogVW5peCBzb2NrZXRzIHN1cHBvcnQgYnkgQmVuIEtsb3BmZW5zdGVpbiBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDktMDMtMzEgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9jb25uZWN0aW9ucy5oLAoJeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuaCwKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiByZWJ1aWxkIGZvciB4MTF2bmMgZGV2IDAuOS44CgoyMDA5LTAzLTMxICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIHByZXBhcmVfeDExdm5jX2Rpc3Quc2g6IHgxMXZuYyAwLjkuOCBkZXYKCjIwMDktMDMtMzAgIEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKCSogc3VjY2Vzcy5odG1sOiBBZGQgTENENExpbnV4IHRvIHRoZSBzdWNjZXNzIHN0b3JpZXMgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTAzLTE2ICBydW5nZSA8cnVuZ2VAa2FybHJ1bmdlLmNvbT4KCgkqIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9lbmMuaCwgeDExdm5jL2hlbHAuYywgeDExdm5jL2tleWJvYXJkLmMsCgl4MTF2bmMvdXRpbC5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiBBZGQgc29tZSAtcmVtYXAgdHJpY2tzLiAgTGltaXQgcmZiQ0ZEIG1lc3NhZ2UKCWNvdW50LgoKMjAwOS0wMy0xNCAgcnVuZ2UgPHJ1bmdlQGthcmxydW5nZS5jb20+CgoJKiB4MTF2bmMvOHRvMjQuYywgeDExdm5jLzh0bzI0LmgsIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMvYWxsb3dlZF9pbnB1dF90LmgsIHgxMXZuYy9hdmFoaS5jLCB4MTF2bmMvYXZhaGkuaCwKCXgxMXZuYy9ibGFja291dF90LmgsIHgxMXZuYy9jbGVhbnVwLmMsIHgxMXZuYy9jbGVhbnVwLmgsCgl4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2Nvbm5lY3Rpb25zLmgsIHgxMXZuYy9jdXJzb3IuYywKCXgxMXZuYy9jdXJzb3IuaCwgeDExdm5jL2VuYy5oLCB4MTF2bmMvZW51bXMuaCwgeDExdm5jL2d1aS5jLAoJeDExdm5jL2d1aS5oLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvaGVscC5oLCB4MTF2bmMvaW5ldC5jLAoJeDExdm5jL2luZXQuaCwgeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9rZXlib2FyZC5oLAoJeDExdm5jL2xpbnV4ZmIuYywgeDExdm5jL2xpbnV4ZmIuaCwgeDExdm5jL21hY29zeC5jLAoJeDExdm5jL21hY29zeC5oLCB4MTF2bmMvbWFjb3N4Q0cuYywgeDExdm5jL21hY29zeENHLmgsCgl4MTF2bmMvbWFjb3N4Q0dQLmMsIHgxMXZuYy9tYWNvc3hDR1AuaCwgeDExdm5jL21hY29zeENHUy5jLAoJeDExdm5jL21hY29zeENHUy5oLCB4MTF2bmMvbWlzYy9MSUNFTlNFLAoJeDExdm5jL21pc2MvdHVyYm92bmMvTWFrZWZpbGUuYW0sIHgxMXZuYy9taXNjL3R1cmJvdm5jL1JFQURNRSwKCXgxMXZuYy9taXNjL3R1cmJvdm5jL2FwcGx5X3R1cmJvdm5jLCB4MTF2bmMvbWlzYy90dXJib3ZuYy9jb252ZXJ0LAoJeDExdm5jL21pc2MvdHVyYm92bmMvY29udmVydF9yZmJzZXJ2ZXIsCgl4MTF2bmMvbWlzYy90dXJib3ZuYy91bmRvX3R1cmJvdm5jLCB4MTF2bmMvb3B0aW9ucy5jLAoJeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3BhcmFtcy5oLCB4MTF2bmMvcG0uYywgeDExdm5jL3BtLmgsCgl4MTF2bmMvcG9pbnRlci5jLCB4MTF2bmMvcG9pbnRlci5oLCB4MTF2bmMvcmF0ZXMuYywgeDExdm5jL3JhdGVzLmgsCgl4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9yZW1vdGUuaCwgeDExdm5jL3NjYW4uYywgeDExdm5jL3NjYW4uaCwKCXgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3NjcmVlbi5oLCB4MTF2bmMvc2Nyb2xsZXZlbnRfdC5oLAoJeDExdm5jL3NlbGVjdGlvbi5jLCB4MTF2bmMvc2VsZWN0aW9uLmgsIHgxMXZuYy9zb2xpZC5jLAoJeDExdm5jL3NvbGlkLmgsIHgxMXZuYy9zc2xjbWRzLmMsIHgxMXZuYy9zc2xjbWRzLmgsCgl4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy9zc2xoZWxwZXIuaCwgeDExdm5jL3NzbHRvb2xzLmgsCgl4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdWlucHV0LmMsCgl4MTF2bmMvdWlucHV0LmgsIHgxMXZuYy91bml4cHcuYywgeDExdm5jL3VuaXhwdy5oLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3VzZXIuaCwgeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMvdXNlcmlucHV0LmgsCgl4MTF2bmMvdXRpbC5jLCB4MTF2bmMvdXRpbC5oLCB4MTF2bmMvdjRsLmMsIHgxMXZuYy92NGwuaCwKCXgxMXZuYy93aW5fdXRpbHMuYywgeDExdm5jL3dpbl91dGlscy5oLCB4MTF2bmMvd2luYXR0cl90LmgsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuYy5oLAoJeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZGFtYWdlLmMsIHgxMXZuYy94ZGFtYWdlLmgsCgl4MTF2bmMveGV2ZW50cy5jLCB4MTF2bmMveGV2ZW50cy5oLCB4MTF2bmMveGluZXJhbWEuYywKCXgxMXZuYy94aW5lcmFtYS5oLCB4MTF2bmMveGtiX2JlbGwuYywgeDExdm5jL3hrYl9iZWxsLmgsCgl4MTF2bmMveHJhbmRyLmMsIHgxMXZuYy94cmFuZHIuaCwgeDExdm5jL3hyZWNvcmQuYywKCXgxMXZuYy94cmVjb3JkLmgsIHgxMXZuYy94d3JhcHBlcnMuYywgeDExdm5jL3h3cmFwcGVycy5oOiBJbnNlcnQKCXgxMXZuYyBjb3B5cmlnaHQgYW5kIGxpY2Vuc2Ugbm90aWNlcy4KCjIwMDktMDMtMTQgIHJ1bmdlIDxydW5nZUBrYXJscnVuZ2UuY29tPgoKCSogeDExdm5jL1JFQURNRTogVGVzdCBnaXQgY29tbWl0IHNldHRpbmcgdXNlcm5hbWUgJiBldGMuCgoyMDA5LTAzLTE0ICBLYXJsIEouIFJ1bmdlIDxydW5nZUBoYXlzdGFjay5ydW5nZS5ob21lPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiBUd2VhayBzZXR0aW5ncyBhbmQgZG9jcyBmb3IKCWNyZWF0ZV9kaXNwbGF5LiAgQWRkIEZEX0VYVFJBIGZpbmlzaGluZyBjbWQuCgoyMDA5LTAzLTEzICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvc2NyZWVuLmMsCgl4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogRml4IG9mZi1zY3JlZW4gYnVnIGZvciAtbmNhY2hlX2NyCgljb3B5cmVjdC4KCjIwMDktMDMtMTIgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBUZWFjaCBTREx2bmN2aWV3ZXIKCWFib3V0IHNjcm9sbCB3aGVlbCBldmVudHMgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTAzLTEyICBkc2NobyA8ZHNjaG8+CgoJKiBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmM6IFNETHZuY3ZpZXdlcjogZml4IHBhc3NpbmcgYSB3cm9uZwoJcG9pbnRlciB0eXBlIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0wMy0wOCAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBjbGllbnRfZXhhbXBsZXMvTWFrZWZpbGUuYW0sCgljbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmMsIGNsaWVudF9leGFtcGxlcy9zY3JhcC5jLAoJY2xpZW50X2V4YW1wbGVzL3NjcmFwLmg6IENsaXBib2FyZCBzdXBwb3J0IGZvciBTREx2bmN2aWV3ZXIgVGhlIGNsaXBib2FyZCBzdXBwb3J0IGhhcyBvbmx5IGJlZW4gdGVzdGVkIG9uIExpbnV4IHNvIGZhci4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0wMy0wNyAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvbWlzYy90dXJib3ZuYy9NYWtlZmlsZS5hbSwKCXgxMXZuYy9taXNjL3R1cmJvdm5jL1JFQURNRSwgeDExdm5jL21pc2MvdHVyYm92bmMvYXBwbHlfdHVyYm92bmMsCgl4MTF2bmMvbWlzYy90dXJib3ZuYy9jb252ZXJ0LAoJeDExdm5jL21pc2MvdHVyYm92bmMvY29udmVydF9yZmJzZXJ2ZXIsCgl4MTF2bmMvbWlzYy90dXJib3ZuYy91bmRvX3R1cmJvdm5jLCB4MTF2bmMvc2Nhbi5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3VzZXIuYywKCXgxMXZuYy91c2VyLmgsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuY19kZWZzLmM6IEFsbG93IHJhbmdlCglmb3IgWDExVk5DX1NLSVBfRElTUExBWSwgZG9jdW1lbnQgZ3JhYiBYc2VydmVyIGlzc3VlLiAgQWRkCglwcm9ncmVzc19jbGllbnQoKSB0byBwcm9jZWVkIG1vcmUgcXVpY2tseSB0aHJ1IGhhbmRzaGFrZS4KCUltcHJvdmVtZW50cyB0byB0dXJib3ZuYyBoYWNrLgoKMjAwOS0wMy0wNyAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBUT0RPLCBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmM6IFNETHZuY3ZpZXdlcjoKCXVwb24gZm9jdXMgbG9zcywgZm9yY2UgcmVsZWFzaW5nIHRoZSBBbHQga2V5cyBXaGVuIHN3aXRjaGluZyB3aW5kb3dzIHVzaW5nIHRoZSBBbHQrVGFiIHNob3J0Y3V0LCBTREx2bmN2aWV3ZXIKCXdvdWxkIGdldCB0aGUgImRvd24iIGV2ZW50LCBidXQgbm90IHRoZSAidXAiIGV2ZW50LiAgVGhpcyBwYXRjaAoJcHJvdmlkZXMgYSB3b3JrYXJvdW5kLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTAzLTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmM6IFNETHZuY3ZpZXdlcjogcmVmYWN0b3IgZXZlbnQKCWhhbmRsaW5nIEluc3RlYWQgb2YgaGF2aW5nIGRlZXAgaW5kZW50IGxldmVscywgcHV0IHRoZSBjb2RlIHRvIGhhbmRsZSBldmVudHMKCWludG8gaXRzIG93biBmdW5jdGlvbi4gIFRoYXQgYWxzbyBoZWxwcyByZWFkYWJpbGl0eS4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0wMy0wNyAgZHNjaG8gPGRzY2hvPgoKCSogVE9ETzogVXBkYXRlIFNETHZuY3ZpZXdlciBUT0RPcyBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDktMDMtMDcgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBUZWFjaCBTREx2bmN2aWV3ZXIgdG8KCWJlIHJlc2l6YWJsZSBVc2luZyAiU0RMdm5jdmlld2VyIC1yZXNpemFibGUiLCB5b3UgbWFrZSB0aGUgd2luZG93IHJlc2l6YWJsZS4KCVRoaXMgbWVhbnMgdGhhdCB5b3UgY2FuIHNocmluayB0aGUgd2luZG93IChlLmcuIHdoZW4geW91IGFyZSB0cnlpbmcKCXRvIGFjY2VzcyBhbiB4MTF2bmMgZnJvbSB5b3VyIGxpdHRsZSBuZXRib29rKSwgb3IgeW91IGNhbiBlbmxhcmdlCglpdC4gIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0wMy0wNiAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBUT0RPLCBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmM6IFNETHZuY3ZpZXdlcjoKCWVuYWJsZSBrZXkgcmVwZWF0IFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0wMi0yOCAgcnVuZ2UgPHJ1bmdlPgoKCSogY29uZmlndXJlLmFjLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL21pc2MvTWFrZWZpbGUuYW0sIHgxMXZuYy9taXNjL3R1cmJvdm5jL01ha2VmaWxlLmFtLAoJeDExdm5jL21pc2MvdHVyYm92bmMvUkVBRE1FLCB4MTF2bmMvbWlzYy90dXJib3ZuYy9hcHBseV90dXJib3ZuYywKCXgxMXZuYy9taXNjL3R1cmJvdm5jL2NvbnZlcnQsIHgxMXZuYy9taXNjL3R1cmJvdm5jL3RpZ2h0LmMsCgl4MTF2bmMvbWlzYy90dXJib3ZuYy90dXJib2pwZWcuaCwKCXgxMXZuYy9taXNjL3R1cmJvdm5jL3VuZG9fdHVyYm92bmM6IHgxMXZuYzogYWRkIGtsdWRnZSB0byBleHBlcmltZW50Cgl3aXRoIHR1cmJvdm5jLgoKMjAwOS0wMi0yNiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL3JlbW90ZS5jLAoJeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogZml4IHNvbWUgLVFEIGNhc2VzIGZvciB1c2UgaW4KCXRreDExdm5jLgoKMjAwOS0wMi0yMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL2F2YWhpLmMsIHgxMXZuYy9lbmMuaCwgeDExdm5jL3NlbGVjdGlvbi5jOiAKCWZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOS0wMi0yMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogYWRkIC1ub3NraXBfbG9ja2tleXMgb3B0aW9uCglmb3IgZnV0dXJlIHVzZS4KCjIwMDktMDItMDQgIHJ1bmdlIDxydW5nZT4KCgkqIGNsYXNzZXMvc3NsL1JFQURNRSwKCWNsYXNzZXMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2gsCgl4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvcmVtb3RlLmMsCgl4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zZWxlY3Rpb24uYywgeDExdm5jL3NzbGhlbHBlci5jLAoJeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy91bml4cHcuYywgeDExdm5jL3VzZXIuYywKCXgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3h3cmFwcGVycy5jOiB4MTF2bmM6IEFkZCAic2VuZGJlbGwiCglyZW1vdGUgY21kLiAgRml4IGNvcHlyZWN0IHVwZGF0ZXMgdW5kZXIgLXJlZmxlY3QuICBXb3JrYXJvdW5kIHRoYXQKCWNoZWNrcyB2YWxpZCB3aW5kb3cgb2Ygc2VsZWN0aW9uIHJlcXVlc3Rvci4gIFdhaXQgb24gc29tZSBzc2wgaGVscGVyCglwaWRzIGVhcmxpZXIuICBXb3JrYXJvdW5kIFhBVVRITE9DQUxIT1NUTkFNRSBmb3Igc29tZSBuZXcgdXNhZ2UKCW1vZGVzLiAgU2V0IGZha2UgZmIgdG8gcmVxdWVzdGVkIGJwcCB3aXRoIGNvcnJlY3QgbWFza3MuICAtcGFkZ2VvbQoJb25jZTouLi4gbW9kZS4gIFNldCBMSUJYQ0JfQUxMT1dfU0xPUFBZX0xPQ0sgYnkgZGVmYXVsdC4KCXJmYlJhbmRvbUJ5dGVzIGVhcmxpZXIuICBjbGFzc2VzL3NzbDogVXBkYXRlIGphcnMuICBBZGQgIlRPUF8iCglkcm9wZG93biBjdXN0b21pemF0aW9uIHRvIHVsdHJhdm5jIGphdmEgdmlld2VyIGFwcGxldCBGVFAgcGFuZWwuCgoyMDA5LTAyLTAzICBkc2NobyA8ZHNjaG8+CgoJKiB0ZXN0L01ha2VmaWxlLmFtOiB0ZXN0L01ha2VmaWxlOiB1c2UgY2hlY2tfUFJPR1JBTVMgUmF0aGVyIHRoYW4gdXNlIG5vaW5zdF9QUk9HUkFNUywgY2hlY2tfUFJPR1JBTVMgd2lsbCBkZWZpbmUgcHJvZ3JhbXMKCXRoYXQgYXJlIG9ubHkgY29tcGlsZWQgd2hlbiBzb21lb25lIGFjdHVhbGx5IHJ1bnMgYG1ha2UgY2hlY2tgLiAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPiBTaWduZWQtb2ZmLWJ5OgoJSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTAyLTAzICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2c6IFJlY29yZCBNaWtlJ3MgYXV0b21ha2UgY2xlYW51cHMgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTAyLTAzICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZS5hbSwgY2xpZW50X2V4YW1wbGVzL01ha2VmaWxlLmFtLCBjb25maWd1cmUuYWMsCgljb250cmliL01ha2VmaWxlLmFtLCBleGFtcGxlcy9NYWtlZmlsZS5hbSwKCWxpYnZuY2NsaWVudC9NYWtlZmlsZS5hbSwgbGlidm5jc2VydmVyL01ha2VmaWxlLmFtLAoJdGVzdC9NYWtlZmlsZS5hbSwgdm5jdGVybS9NYWtlZmlsZS5hbSwgeDExdm5jL01ha2VmaWxlLmFtOiBjbGVhbiB1cAoJYnVpbGQgZmxhZ3MgVGhlIGZsYWcgaGFuZGxpbmcgKGJvdGggY29tcGlsZXIgb3B0aW9ucyBhbmQgaW5jbHVkZSBwYXRocykgYXJlIGEKCW1lc3MgYXQgdGhlIG1vbWVudC4gIFRoZXJlIGlzIG5vIHBvaW50IGluIGZvcmNpbmcgIi1PMiAtZyIgd2hlbgoJdGhlc2UgYXJlIGFscmVhZHkgdGhlIGRlZmF1bHRzLCBhbmQgaWYgc29tZW9uZSBjaGFuZ2VzIHRoZSBkZWZhdWx0cywKCWNoYW5jZXMgYXJlIGdvb2QgdGhleSBkb24ndCB3YW50IHlvdSBjbG9iYmVyaW5nIHRoZWlyIGNob2ljZXMuICBUaGUgLVdhbGwgZmxhZyBzaG91bGQgYmUgaGFuZGxlZCBpbiBjb25maWd1cmUgYW5kIHRocm93biBpbnRvIENGTEFHUwoJb25jZSByYXRoZXIgdGhhbiBldmVyeSBNYWtlZmlsZS5hbS4gIFBsdXMsIHRoaXMgd2F5IHdlIGNhbiBjb250cm9sCgl3aGljaCBjb21waWxlcnMgdGhlIGZsYWcgYWN0dWFsbHkgZ2V0cyB1c2VkIHdpdGguICBGaW5hbGx5LCB0aGUgSU5DTFVERVMgdmFyaWFibGUgaXMgZm9yIC1JIHBhdGhzLCBub3QgQU1fQ0ZMQUdTLiAgTm9yCglzaG91bGQgaXQgY29udGFpbiAtSS4gYXMgdGhpcyBpcyBhbHJlYWR5IGluIHRoZSBkZWZhdWx0IGluY2x1ZGVzCglzZXR1cC4gIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4gU2lnbmVkLW9mZi1ieToKCUpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0wMi0wMyAgZHNjaG8gPGRzY2hvPgoKCSogY29uZmlndXJlLmFjOiBjb25maWd1cmU6IHVzZSBfY3ZfIGluIGNhY2hlIHZhciBuYW1lIE5ld2VyIGF1dG9jb25mIGZhaWxzIGlmIF9jdl8gaXMgbm90IGluIHRoZSBjYWNoZSB2YXIgbmFtZS4gIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4gU2lnbmVkLW9mZi1ieToKCUpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOS0wMi0wMyAgZHNjaG8gPGRzY2hvPgoKCSogY29uZmlndXJlLmFjOiBjb25maWd1cmU6IHVzZSBBTV9QUk9HX0NDX0NfTyBOZXdlciBhdXRvbWFrZXMgZXJyb3Igb3V0IGR1ZSB0byBwZXItZmlsZSBDRkxBR1MgYmVpbmcgdXNlZCB1bmxlc3MKCXRoZSBtYWNybyBBTV9QUk9HX0NDX0NfTyBpcyBzZXQgaW4gY29uZmlndXJlLmFjLiAgW2plczogVGhlIG1hY3JvIEFNX1BST0dfQ0NfQ19PIGhhcyBiZWVuIGFyb3VuZCBzaW5jZSAxOTk5LCBzbyBpdAoJIHNob3VsZCBiZSBzYWZlLl0gU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPiBTaWduZWQtb2ZmLWJ5OgoJSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTAyLTAzICBkc2NobyA8ZHNjaG8+CgoJKiBhdXRvZ2VuLnNoOiBhdXRvZ2VuLnNoOiBydW4gd2l0aCBzZXQgLWUgSWYgYW55IGF1dG90b29sIGNvbW1hbmQgZmFpbHMsIHdlIHdhbnQgdG8gYWJvcnQsIG5vdCBrZWVwIHJ1bm5pbmcuCglPdGhlcndpc2UsIGVycm9ycyBpbiBzYXkgYSBNYWtlZmlsZS5hbSB3aWxsIGJlIG1pc3NlZCBhcyB0aGUKCWF1dG9tYWtlIGZhaWx1cmUgZ2V0cyBpZ25vcmVkIGFuZCB0aGVuIGxvc3QgaW4gdGhlIG5vaXNlLiAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPiBTaWduZWQtb2ZmLWJ5OgoJSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA5LTAxLTEyICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3Nzdm5jLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuY19jbWQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9tYW4vbWFuMS9zc3ZuYy4xLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL21hbi9tYW4xL3Nzdm5jdmlld2VyLjEsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2J1bmRsZSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy90aWdodC12bmN2aWV3ZXItZnUKCWxsLnBhdGNoOiBTU1ZOQyAxLjAuMjIgcmVsZWFzZSAoKyBhIGxpdHRsZSBiaXQgbW9yZSkuICBjcmwgbGlzdHMsCglzc2ggcGlkIGZpbmRpbmcgaW1wcm92ZW1lbnRzLCBhbmQgbW9yZS4KCjIwMDktMDEtMTIgIHJ1bmdlIDxydW5nZT4KCgkqIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYzogY29uZmlndXJlLmFjLAoJQ01ha2VMaXN0cy50eHQ6IHNldCBMaWJWTkNTZXJ2ZXIgdmVyc2lvbiB0byAwLjkuNwoKMjAwOS0wMS0xMiAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvUkVBRE1FLCBjbGFzc2VzL3NzbC9zc192bmN2aWV3ZXIsCgljbGFzc2VzL3NzbC91bHRyYXZuYy0xMDItSmF2YVZpZXdlci1zc2wtZXRjLnBhdGNoLAoJeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogY2xhc3Nlcy9zc2w6IEFkZCBjb25maWd1cmFibGUgVWx0cmEgamF2YQoJYXBwbGV0IEZpbGV4ZmVyIERyaXZlcyBkcm9wIGRvd24gKGUuZy4KCWZ0cERyb3BEb3duPUhvbWUuRGVza3RvcC5iaW4pLiAgRG9jdW1lbnQgYWxsIGFwcGxldCBwYXJhbWV0ZXJzIGluCgljbGFzc2VzL3NzbC9SRUFETUUuCgoyMDA5LTAxLTExICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2c6IEZvcmdvdCBDaGFuZ2VMb2cKCjIwMDktMDEtMTEgIHJ1bmdlIDxydW5nZT4KCgkqIHByZXBhcmVfeDExdm5jX2Rpc3Quc2g6IHByZXBhcmVfeDExdm5jX2Rpc3Quc2g6IGZpeCBTVUJESVJTIGFuZAoJRElTVF9TVUJEUklTIHdoZW4gdXNpbmcgLS13aXRoLXN5c3RlbS1saWJ2bmNzZXJ2ZXIKCjIwMDktMDEtMTAgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy84dG8yNC5jLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvc2NyZWVuLmMsCgl4MTF2bmMvc2VsZWN0aW9uLmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuY19kZWZzLmMsCgl4MTF2bmMveHJlY29yZC5jOiB4MTF2bmM6IGZpeCBmYWlsdXJlIG9mIC04dG8yNCBvbiBkZWZhdWx0IGRlcHRoIDI0CglkdWUgdG8gbm9uc3RhbmRhcmQgaW5kZXhlZCBjb2xvciBzdXBwb3J0IGNoYW5nZXMuICBGaXggc21hbGwgd2luZG93Cglmb3IgZmFpbHVyZSBhZnRlciBYU2VuZEV2ZW50IHNlbGVjdGlvbiBjYWxsOyBhZGQgZW52IHZhci4KCVgxMVZOQ19TRU5ERVZFTlRfU1lOQz0xIHRvIHRha2UgZXZlbiBtb3JlIGNhcmUuCgoyMDA5LTAxLTA0ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvYXZhaGkuYywgeDExdm5jL2NsZWFudXAuYywKCXgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvY29ubmVjdGlvbnMuaCwgeDExdm5jL2VuYy5oLAoJeDExdm5jL2d1aS5jLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zb2xpZC5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94d3JhcHBlcnMuYzogeDExdm5jOiBmaXgKCWNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOS0wMS0wNCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2NsZWFudXAuYywKCXgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvbGludXhmYi5jLAoJeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3BvaW50ZXIuYywKCXgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjYW4uYywgeDExdm5jL3NjcmVlbi5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvdjRsLmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3h3cmFwcGVycy5jOiB4MTF2bmM6CglhZGQgLXJtZmxhZyBvcHRpb24sIC1yYXdmYiB2dCBzdXBwb3J0LCBicHAgPCA4IHN1cHBvcnQgZm9yIHJhd2ZiLAoJZmluZCAvZGV2L3ZpZGVvIGJldHRlci4gRml4IHJldmVyc2UgU1NMIGNvbm5lY3Rpb24gZm9yIERILiAgU29tZQoJaW1wcm92ZW1lbnRzIGZvciBDVVBTIFRTIGhlbHBlciwgcmVzdGFydCBpZiBuZWVkZWQuCgoyMDA5LTAxLTA0ICBydW5nZSA8cnVuZ2U+CgoJKiBjb25maWd1cmUuYWMsIHByZXBhcmVfeDExdm5jX2Rpc3Quc2g6IGNvbmZpZ3VyZS5hYzogYWRkIGluY2x1ZGUKCWZpbGUgZmlsZSBmb3IgbGliWHJhbmRyIG9uIFNvbGFyaXMuICBwcmVwYXJlX3gxMXZuY19kaXN0LnNoOiBzZXQKCXZlcnNpb24gdG8gMC45LjcKCjIwMDgtMTItMTAgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3BhcmFtcy5oLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy9zc2x0b29scy5oLAoJeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VzZXIuYywKCXgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3V0aWwuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiAwLjkuNiByZWxlYXNlLiAgU29tZQoJc3RydG9rIGJ1Z2ZpeGVzLiByZW5hbWUgLXRsc3ZuYyB0byAtYW5vbnRscy4gIERpc2FibGUgc3NsIGNhY2hpbmcuCglObyBjZXJ0IGNyZWF0aW9uIHByb21wdGluZyBpbiBpbmV0ZCBvciBiZyBtb2Rlcy4gIHdhaXRwaWQgYSBiaXQgbW9yZQoJY2FyZWZ1bGx5IG9uIHNzbCBoZWxwZXJzLiAgVHVuZSBzc2wgaW5pdGlhbCB0aW1lb3V0cy4gIExldCAtY3JlYXRlCgl1c2VyIHNwZWNpZnkgc3RhcnRpbmcgWCBkaXNwbGF5LiAgZml4IC1yZmJwb3J0IHByb21wdCBndWkgZm9yIG9sZGVyCgl0ay4gIC1zc2xvbmx5IG9wdGlvbi4gRXJyb3IgaWYgbm8gLXNzbCB3aXRoIHJlbGF0ZWQgb3B0aW9ucy4gLXJhbmQKCW9wdGlvbi4gIC1zc2wgaW1wbGllcyAtc3NsIFNBVkUKCjIwMDgtMTEtMjIgIHJ1bmdlIDxydW5nZT4KCgkqIGNsYXNzZXMvc3NsL3NzX3ZuY3ZpZXdlcjogVXBkYXRlIHNzX3ZuY3ZpZXdlci4uLgoKMjAwOC0xMS0yMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmMsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3Nzdm5jX2NtZCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc192bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3N2bmMudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL21hbi9tYW4xL3Nzdm5jLjEsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2J1bmRsZSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9zdHVubmVsLW1heGNvbm4ucGEKCXRjaCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy90aWdodC12bmN2aWV3ZXItZnUKCWxsLnBhdGNoLCB4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3N2bmMuZGVza3RvcDogU1NWTkMKCSAgc3luYzogc3R1bm5lbCB1cGdyYWRlIGFuZCBwYXRjaCwgY2hhbmdlIHdpc2ggb3JkZXIsIC1hbm9uZGggLWNpcGhlcnMKCSAgb3B0aW9uIFZlTkNyeXB0IGFuZCBUTFNWTkMgc3VwcG9ydCAoaW4gcHByb3h5IGFuZCB1bml4IHZuY3ZpZXdlcikuCgkgIEhlbHAgdGV4dCB0d2Vha3MgLWtpbGxzdHVubmVsLCBzX2NsaWVudCBmaXhlcywgTm8gRW5jcnlwdGlvbiBlYXNpZXIuCgkgIFplcm9jb25mL2F2YWhpIHN1cHBvcnQuICB0ayBmb250IGZpeGVzLiBTU1ZOQ19VTFRSQV9GVFBfSkFSIGZpbmRpbmcKCSAgU1NWTkNfUFJFRElHRVNURURfSEFORFNIQUtFIFNTVk5DX1NLSVBfUkZCX1BST1RPQ09MX1ZFUlNJT04sCglTU1ZOQ19TRVRfU0VDVVJJVFlfVFlQRSwgZXRjIGhhY2tzLgoKMjAwOC0xMS0yMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL01ha2VmaWxlLmFtLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2F2YWhpLmMsIHgxMXZuYy9jbGVhbnVwLmMsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2d1aS5jLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLAoJeDExdm5jL3BhcmFtcy5oLCB4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY3JlZW4uYywKCXgxMXZuYy9zc2xjbWRzLmMsIHgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3NzbGhlbHBlci5oLAoJeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsCgl4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy91bml4cHcuaCwgeDExdm5jL3VzZXJpbnB1dC5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuZGVza3RvcCwKCXgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZGFtYWdlLmMsCgl4MTF2bmMveGRhbWFnZS5oLCB4MTF2bmMveGV2ZW50cy5jLCB4MTF2bmMveHJlY29yZC5jLAoJeDExdm5jL3hyZWNvcmQuaCwgeDExdm5jL3h3cmFwcGVycy5jOiB4MTF2bmM6IHgxMXZuYy5kZXNrdG9wIGZpbGUuCgkgIC1yZW9wZW4sIC1kaHBhcmFtcywgLXNzbENSTCwgLXNldGRlZmVyIG9wdGlvbnMuIC1yZmJwb3J0IFBST01QVAoJICBWZU5DcnlwdCBhbmQgVExTVk5DIFNTTC9UTFMgZW5jcnlwdGlvbiBzdXBwb3J0LiAgVHdlYWtzIHRvCgkgIGNob29zZV9kZWxheSgpIGFsZ29yaXRobS4gIC1zc2wgQU5PTiBhbm9ueW1vdXNlIERpZmZpZS1IZWxsbWFuIG1vZGUuCgkgIEZpeCBidWdzIGluIGNlcnRzIG1hbmFnZW1lbnQuICBBZGRpdGlvbnMgdG8gdHJheT1zZXRwYXNzIG5haXZlIHVzZXIKCW1vZGUuCgoyMDA4LTExLTA1ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvYXZhaGkuYywKCXgxMXZuYy9jbGVhbnVwLmMsIHgxMXZuYy9jbGVhbnVwLmgsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMvbWFjb3N4Q0cuYywgeDExdm5jL3JhdGVzLmMsIHgxMXZuYy9yZW1vdGUuYywKCXgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3NvbGlkLmMsIHgxMXZuYy9zc2xoZWxwZXIuYywKCXgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYywKCXgxMXZuYy94ZXZlbnRzLmM6IHgxMXZuYzogYWRkIHplcm9jb25mIGV4dGVybmFsIGhlbHBlcnMKCShhdmFoaS1wdWJsaXNoIGFuZCBkbnMtc2QpLiAgQWxpYXMgLXplcm9jb25mLiAgQ2xvc2UgcGlwZWlucHV0X2ZoIG9uCglleGl0LiAgS2x1ZGdlIHRvIG1ha2UgLXNvbGlkIHdvcmsgb24gTWFjT1NYIGNvbnNvbGUuICBBdHRlbXB0IGF0IGNwcAoJbWFjcm9zIHRvIGRpc2FibGUgbmV3ZXIgbGlidm5jc2VydmVyIGludGVyZmFjZXMuCgoyMDA4LTExLTA1ICBydW5nZSA8cnVuZ2U+CgoJKiBjb25maWd1cmUuYWM6IFR3ZWFrIG1lc3NhZ2VzLiAgQWRkIHNobWF0IGZvciAtLXdpdGhvdXQteCBidWlsZGluZy4KCjIwMDgtMTAtMzAgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9tYW4vbWFuMS9zc3ZuY3ZpZXdlci4xLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2g6IHN5bmNocm9uaXplIHNzdm5jCgoyMDA4LTEwLTI5ICBydW5nZSA8cnVuZ2U+CgoJKiBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL25veDExLmgsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjcmVlbi5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hldmVudHMuYzogeDExdm5jOgoJLWh0dHBfb25lcG9ydCBmb3Igc2luZ2xlIHBvcnQgSFRUUCBhbmQgVk5DLiBJbXByb3ZlIGZpbmRfZGlzcGxheSB3cnQKCWxzb2YgYmxvY2tpbmcgd2l0aCAtYi4KCjIwMDgtMTAtMTkgIHJ1bmdlIDxydW5nZT4KCgkqCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL0Rhcndpbi5Qb3dlci5NYWNpbnRvc2gvdm5jCgl2aWV3ZXIuc2gsIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmMsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3Nzdm5jX2NtZCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc192bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3N2bmMudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2J1aWxkLnVuaXgsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvbWFuL21hbjEvc3N2bmN2aWV3ZXIuMSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2g6IFN5bmMgU1NWTkMgY2hhbmdlczogZnVsbHNjcmVlbiBmaXhlcywgbG9jYWwgc2NhbGluZywKCS1jaGF0b25seSwgaXNvLTg4NTktMS91dGY4IGV0Yy4sIGV0Yy4KCjIwMDgtMTAtMTkgIHJ1bmdlIDxydW5nZT4KCgkqIGNsYXNzZXMvc3NsL3NzX3ZuY3ZpZXdlciwKCWNsYXNzZXMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2g6IFVwZGF0ZSBzc2wgVk5DCgl2aWV3ZXIgamFycyBhbmQgcGF0Y2ggZmlsZS4KCjIwMDgtMTAtMTkgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy84dG8yNC5jLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2NsZWFudXAuYywgeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9jb25uZWN0aW9ucy5oLAoJeDExdm5jL2N1cnNvci5jLCB4MTF2bmMvZW5jLmgsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9rZXlib2FyZC5jLAoJeDExdm5jL2xpbnV4ZmIuYywgeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwKCXgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjYW4uYywgeDExdm5jL3NjYW4uaCwgeDExdm5jL3NjcmVlbi5jLAoJeDExdm5jL3NjcmVlbi5oLCB4MTF2bmMvc2VsZWN0aW9uLmMsIHgxMXZuYy9zb2xpZC5jLAoJeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VuaXhwdy5jLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZXZlbnRzLmMsCgl4MTF2bmMveGluZXJhbWEuYywgeDExdm5jL3hyYW5kci5jLCB4MTF2bmMveHJhbmRyLmgsCgl4MTF2bmMveHJlY29yZC5jLCB4MTF2bmMveHdyYXBwZXJzLmMsIHgxMXZuYy94d3JhcHBlcnMuaDogeDExdm5jOgoJLWNoYXR3aW5kb3csIC1zY2FsZSBXeEgsIC1lbmMgY2hhbmdlcy4KCjIwMDgtMDktMjEgIHJ1bmdlIDxydW5nZT4KCgkqIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9NYWtlZmlsZS5hbSwKCXgxMXZuYy9SRUFETUUsIHgxMXZuYy9lbmMuaCwgeDExdm5jL2hlbHAuYywgeDExdm5jL2tleWJvYXJkLmMsCgl4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcG9pbnRlci5jLAoJeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdXRpbC5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IEFkZCBzeW1tZXRyaWMga2V5IGVuY3J5cHRpb24gLWVuYwoJY2lwaGVyOmtleWZpbGUsIHdvcmtzIHdpdGggU1NWTkMuICBNYWtlIC1yZW1hcCB3b3JrIG9uIE1hY09TWAoJY29uc29sZS4gIHVwZGF0ZSB0byAwLjkuNSBzdHJpbmdzLiAgQWRkIGEgY291cGxlIG1lbnUgaXRlbXMgdG8KCXRreDExdm5jLgoKMjAwOC0wOS0xNyAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IG1ha2UgLWFsbG93IHdvcmsgaW4gLXNzbCBtb2RlLgoKMjAwOC0wOS0xNCAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvc3Nfdm5jdmlld2VyLAoJY2xhc3Nlcy9zc2wvdWx0cmF2bmMtMTAyLUphdmFWaWV3ZXItc3NsLWV0Yy5wYXRjaCwKCXgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9ndWkuYywgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9tYW4vbWFuMS9zc3ZuYy4xLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL21hbi9tYW4xL3Nzdm5jdmlld2VyLjEsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2J1bmRsZSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy90aWdodC12bmN2aWV3ZXItZnUKCWxsLnBhdGNoLCB4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMvdXRpbC5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6Cgktc2xlZXBpbiBtLW4gZm9yIHJhbmRvbSBzbGVlcC4gTW9yZSBta3RlbXAgYW5kIG1rc3RlbXAgcHJvdGVjdGlvbnMuCglTU0xfSU5JVF9USU1FT1VUPW4gZW52LiB2YXIuICBGaXggbWFjb3N4IGNvbnNvbGUgWCBjYWxsIGJ1Zy4KCVN5bmNocm9uaXplIG90aGVyIHByb2plY3RzIHNvdXJjZXMuCgoyMDA4LTA5LTA3ICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC9zc192bmN2aWV3ZXIsCgljbGFzc2VzL3NzbC91bHRyYXZuYy0xMDItSmF2YVZpZXdlci1zc2wtZXRjLnBhdGNoLCB4MTF2bmMvOHRvMjQuYywKCXgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2d1aS5jLCB4MTF2bmMvZ3VpLmgsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9rZXlib2FyZC5jLAoJeDExdm5jL21hY29zeENHLmMsIHgxMXZuYy9tYWNvc3hDRy5oLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3NzaHZuYy5iYXQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy90c3ZuYy5iYXQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3NzaHZuYywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmMsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3Nzdm5jX2NtZCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdHN2bmMsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9idWlsZC51bml4LAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL21hbi9tYW4xL3Nzdm5jLjEsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvbWFuL21hbjEvc3N2bmN2aWV3ZXIuMSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fZ2V0cGF0Y2hlcywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy90aWdodC12bmN2aWV3ZXItZnUKCWxsLnBhdGNoLCB4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcG9pbnRlci5jLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc29saWQuYywgeDExdm5jL3NzbHRvb2xzLmgsCgl4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZXZlbnRzLmMsCgl4MTF2bmMveGV2ZW50cy5oLCB4MTF2bmMveGluZXJhbWEuYywgeDExdm5jL3hpbmVyYW1hLmg6IHgxMXZuYzoga2lsbAoJICAgZ3VpX3BpZCBvbiBleGl0IGluIC1jb25uZWN0Ly1jb25uZWN0X29yX2V4aXQgbW9kZS4gIC1ncmFibG9jYWwgbgoJICAgZXhwZXJpbWVudCAobm90IGNvbXBpbGVkIGJ5IGRlZmF1bHQpLiAgLW1hY3Vza2JkIG9wdGlvbiBmb3IgbWFjb3N4CgkgICBmb3Igb3JpZyB1c2tkYiBjb2RlLiBrZXljb2RlPU4gcmVtb3RlIGNvbnRvbCBjbWQuICBGaW5kIGRweSBsb29rIGF0CgkgICBub24tTkZTIGNvb2tpZXMgaW4gL3RtcC4gIEZpeCBndWkgdHJheSBpbnNlcnRpb24gb24gcmVjZW50IGdub21lIGR0LgoJRml4IGNvbm5lY3RfZmlsZSBidWcuIFN5bmMgU1NWTkMKCjIwMDgtMDYtMjQgIHJ1bmdlIDxydW5nZT4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogV2Ugc2VlbSB0byBuZWVkIHRvIGd1YXJkIGFnYWluc3QgZnJlZWluZwoJaXRlcmF0b3IgJ2knIHR3aWNlIGluIHJmYlNlbmRGcmFtZWJ1ZmZlclVwZGF0ZSgpICAoaXRhbGMgcmVwb3J0ZWQKCWJ1ZykKCjIwMDgtMDYtMDcgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy91bml4cHcuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYywKCXgxMXZuYy94aW5lcmFtYS5jOiB4MTF2bmM6IC1jbGlwIHhpbmVyYW1hTiBvcHRpb24sIC1ESUdOT1JFX0dFVFNQTkFNCgkgICAgICAgICAgZm9yIEhQLVVYLiAgUHJpbnQgaW5mbyBvbiBTU0hfQ09OTkVDVElPTiBvdmVycmlkZS4KCjIwMDgtMDYtMDMgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBTREx2bmN2aWV3ZXI6IHVwZGF0ZQoJc2NyZWVuIGNvcnJlY3RseSBhZnRlciBhIHJlc2l6ZSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDYtMDMgIHJ1bmdlIDxydW5nZT4KCgkqIGNvbmZpZ3VyZS5hYzogRW5hYmxlIC0td2l0aC1zc2w9RElSIG9wdGlvbi4KCjIwMDgtMDYtMDEgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzoKCWxvd2VyIHdhaXRtcyBhbmQgZGVmZXIgaWYgZnJhbWVidWZmZXIgcmVhZHMgYXJlIGZhc3QgKD4gMTAwTUIvcykKCjIwMDgtMDYtMDEgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy84dG8yNC5jLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9jdXJzb3IuYywgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9taXNjL1hkdW1teSwgeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwKCXgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3VzZXJpbnB1dC5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jLAoJeDExdm5jL3hpbmVyYW1hLmM6IHgxMXZuYzogc3VwcG9ydCBjb2xvcm1hcHMgZm9yIGRlcHRocyBvdGhlciB0aGFuCgk4LiAgeGluZXJhbWEgd2FycHBvaW50ZXIgb25seSBpZiBtb3JlIHRoYW4gb25lIHN1YnNjcmVlbi4KCjIwMDgtMDUtMzEgIGRzY2hvIDxkc2Nobz4KCgkqIC5naXRpZ25vcmU6IC5naXRpZ25vcmU6IGlnbm9yZSBhbHNvIHRlbXBvcmFyeSBlZGl0b3IgZmlsZXMgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTA1LTMxICBkc2NobyA8ZHNjaG8+CgoJKiBWaXN1YWxOYUNyby8uZ2l0aWdub3JlOiBWaXN1YWxOYUNybzogYWRkIC5naXRpZ25vcmUgZmlsZSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDUtMzEgIGRzY2hvIDxkc2Nobz4KCgkqIFZpc3VhbE5hQ3JvL2NvbmZpZ3VyZS5hYzogVmlzdWFsTmFDcm86IGZpeCBjb25maWd1cmUuYWMgVGhlcmUgd2FzIGEgbWlzdW5kZXJzdGFuZGluZyBhcyB0byB0aGUgd29ya2luZ3Mgb2YgQUNfQ0hFQ0tfUFJPRygpLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTA1LTMxICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPOiBVcGRhdGUgVE9ET3MgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTA1LTMxICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXItY29uZmlnLmluOiBGaXggbGlidm5jc2VydmVyLWNvbmZpZyBmb3IgaW4tcGxhY2UKCW9wZXJhdGlvbiBTaW5jZSBxdWl0ZSBzb21lIHRpbWUsIHRoZSBsaW5rYWJsZSBsaWJyYXJpZXMgYXJlIHN0b3JlZCBpbiB0aGUKCS5saWJzLyBzdWJkaXJlY3Rvcmllcy4gIEFkanVzdCBsaWJ2bmNzZXJ2ZXItY29uZmlnIHRvIGFjY291bnQgZm9yCgl0aGF0IHdoZW4gcnVubmluZyB3aXRob3V0IGluc3RhbGxpbmcuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDUtMjMgIHJ1bmdlIDxydW5nZT4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogSGFuZGxlIGNvbG9ybWFwcyB3aXRoIG1vcmUgdGhhbiAyNTYKCWNvbG9ycy4KCjIwMDgtMDUtMTMgIGRzY2hvIDxkc2Nobz4KCgkqIGV4YW1wbGVzL21hYy5jOiBleGFtcGxlcy9tYWM6IGRpc2FibGUgdGhlIGN1cnNvciBXZSBjYW5ub3Qgd3JpdGUgYWNjZXNzIHRoZSBmcmFtZSBidWZmZXIsIGFuZCB3ZSBkbyBub3QgaGF2ZSBhCglzZW5zaWJsZSBjdXJzb3IgYW55d2F5LCBzbyBiZXR0ZXIgZGlzYWJsZSB0aGUgY3Vyc29yICh3aGljaCB3b3VsZAoJaGF2ZSB0byBiZSBkcmF3biBmb3IgY2xpZW50cyB0aGF0IGRvIG5vdCBzdXBwb3J0CglDdXJzb3JTaGFwZVVwZGF0ZXMpLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTA1LTEzICBkc2NobyA8ZHNjaG8+CgoJKiBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmM6IFNETHZuY3ZpZXdlcjogYWRkIC12aWV3b25seSBKdXN0IGxpa2UgaXRzIHNpYmxpbmdzIGZyb20gb3RoZXIgcHJvamVjdHMsIFNETHZuY3ZpZXdlciBub3cKCXN1cHBvcnRzIHZpZXdvbmx5IGNvbm5lY3Rpb25zLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTA1LTEyICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvc2VsZWN0aW9uLmMsCgl4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBTU0wgZml4ZXMuICBJbmNyZWFzZSBjZXJ0IGxpZmV0aW1lcyB0bwoJMiB5ZWFycy4gIFByaW50IHNzbCBlcnIgbXNnLgoKMjAwOC0wNS0xMiAgcnVuZ2UgPHJ1bmdlPgoKCSogY29uZmlndXJlLmFjOiBBZGQgWDUwOV9wcmludF9leF9mcCBjaGVjayBmb3IgeDExdm5jLgoKMjAwOC0wNS0xMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvY29ubmVjdF9ici50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3Nzdm5jLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuY19jbWQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy90aWdodC12bmN2aWV3ZXItZnUKCWxsLnBhdGNoOiBNYW55IGltcHJvdmVtZW50IHRvIHRoZSBmcm9udGVuZCBhbmQgdW5peCB2aWV3ZXIuCglVbHRyYVZOQyBwcm94eSBzdXBwb3J0LCBhbmQgb3RoZXIgcHJveHkgaW1wcm92ZW1lbnRzLgoKMjAwOC0wNS0wOCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsCgl4MTF2bmMvZ3VpLmMsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9zY2FuLmMsCgl4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VzZXIuYywgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBhZGQgVWx0cmFWTkMgcmVwZWF0ZXIgcHJveHkgc3VwcG9ydC4KCSAgICAgICAgZml4IHRvIHNldHAgZ3VpIG1vZGUuIC10aHJlYWRzIGlzIG5vdyBzdHJvbmdseSBkaXNjb3VyYWdlZC4gIFJlYWQKCSAgICAgICAgUE9SVD0gaW4gdXJsLiAgVXNlciBjYW4gc2V0IG5vbGlzdGVuIGZvciBYdmZiIGluIC1jcmVhdGUgbW9kZS4KCSAgICAgICAgY2xlYW4gdXAgd2FpdF9mb3JfY2xpZW50KCkgdG8gc29tZSBkZWdyZWUuCgoyMDA4LTA1LTA4ICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLXNzbC5wYXRjaCwKCWNsYXNzZXMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2g6IEFkZCBjaGVjayBmb3IKCSJodHRwcyIgdG8gdmlld2Vycy4gIHVwZGF0ZSBqYXJzLgoKMjAwOC0wNC0yOCAgZHNjaG8gPGRzY2hvPgoKCSogcmZiL3JmYmNsaWVudC5oOiBGaXggY29tcGlsYXRpb24gaW4gdGhlIGFic2VuY2Ugb2YgbGlianBlZyBUaGUgSlBFRyBsaWJyYXJ5IGlzIG5vdCBuZWNlc3NhcmlseSBpbnN0YWxsZWQgZXZlcnl3aGVyZSwgYW5kCglzb21ldGltZXMgaXQgaXMgb3V0cmlnaHQgdW5kZXNpcmFibGUgdG8gY29tcGlsZSB3aXRoIEpQRUcgc3VwcG9ydCwKCWUuZy4gd2hlbiB0aGUgc2VydmVyIGlzIG5vdCB2ZXJ5IGZhc3QuICBTbyBmaXggdGhlIGNvbXBpbGF0aW9uIGZvcgoJdGhhdCBjYXNlLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTAzLTIxICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPOiBVcGRhdGUgVE9ET3MgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTAyLTE4ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci9yZmJyZWdpb24uYzogUGxlYXNlIE1TIFZpc3VhbCBDKysgYSBiaXQKCShDaHJpc3RpYW4gRWhybGljaGVyKSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDItMTggIHJ1bmdlIDxydW5nZT4KCgkqIGNsYXNzZXMvc3NsL3NzX3ZuY3ZpZXdlciwgeDExdm5jL1JFQURNRTogVXBkYXRlIHNzbCBqYXJzLgoKMjAwOC0wMi0xOCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jX2RlZnMuYzogY2hhbmdlcyBmb3IKCXJlbGVhc2UKCjIwMDgtMDItMTggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9SRUFETUUsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IG1pbm9yIGRhdGUgY2hhbmdlcy4KCjIwMDgtMDItMTggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3Nzdm5jLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuY19jbWQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvdGlnaHQtdm5jdmlld2VyLWZ1CglsbC5wYXRjaDogc3N2bmMgc3luYyB3aXRoIHp5d3JsZSBzdXBwb3J0IGFuZCBpbXByb3ZlbWVudHMgdG8gcG9wdXAuCgoyMDA4LTAyLTA0ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvenJsZS5jOiBaWVdSTEUKCXBhdGNoIGZvciBsaWJ2bmNjbGllbnQgKHRoYW5rcyBOb3JpYWtpIFlhbWF6YWtpKSBIaWdobGl0ZTogICogdXNlIHF1YWxpdHlMZXZlbC96bGliX2J1ZmZlci4gTm8gbmV3IHZhcmlhYmxlIGlzIG5lZWRlZC4gICAqIENoYW5nZSBjb2Rpbmcgc3R5bGUgdG8gcmVjdXJzaXZlIGZhc2hpb24uICAgKiBDaGFuZ2UgbWVhbmluZyBvZiBxdWFsaXR5TGV2ZWw9PSA5IGZvciBlYXN5IGNhbGMgenl3cmxlX2xldmVsOiAgICAgIG9sZDp6eXdybGVfbGV2ZWw9PSAxICAgICAgbmV3OmRpc2FibGUgWllXUkxFKHNhbWUgYXMgWlJMRSkgICAgc28sIHdlIHNob3VsZCBub3QgdXNlIHRoaXMgdmFsdWUgZm9yIGNvbXBhdGlibGUgcmVhc29uLiAgICogQ29sb3IgbW9kZSBoYW5kbGluZyBpc24ndCBjb21wbGV0ZS4gICAgIEkgcHJvdmlkZWQgYW5kIGNoZWNrZWQgMTYgYml0IGNvbG9ycyhSR0I1NTUsUkdCNTY1KSBhbmQgICAgc29tZSBjb2xvciBtb2RlIG9mIDMyIGJpdCBjb2xvcnMgZm9yIGxpdHRsZSBlbmRpYW4gbW9kZS4gICAgIHdlIG11c3QgbWFrZSBhbmQgY2hlY2sgMjQgYml0IGNvbG9ycyBhbmQgYmlnIGVuZGlhbiBtb2RlLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTAyLTA0ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci96eXdybGV0ZW1wbGF0ZS5jOiBGaXggWllXUkxFIGVuL2RlY29kaW5nCglmb3Igd2lkdGggIT0gc2NhbmxpbmUgKHRoYW5rcyBOb3JpYWtpIFlhbWF6YWtpKSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDItMDMgIHJ1bmdlIDxydW5nZT4KCgkqIGxpYnZuY3NlcnZlci9zdGF0cy5jOiBBZGQgWllXUkxFIHRvIHNlcnZlciBwcmludG91dC4KCjIwMDgtMDItMDIgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgVE9ETywgY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBTREx2bmN2aWV3ZXI6IGZpeAoJYnV0dG9uIGhhbmRsaW5nIEZvciBzb21lIHJlYXNvbiwgSSBzd2FwcGVkIGJ1dHRvbnMgMiBhbmQgMyBvbiBEZWMgNywgMjAwNSwgaW4gY29tbWl0CgkidHJhbnNsYXRlIGtleXMgYmFzZWQgb24gdW5pY29kZSAobXVjaCBtb3JlIHJlbGlhYmxlIHRoYW4gc3ltKSIuICBJCglkbyBub3QgcmVtZW1iZXIgd2h5LCBub3Igd2hhdCBJIHNtb2tlZCwgYnV0IHRoaXMgd2FzIHdyb25nLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTAyLTAyICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPLCBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmM6IFNETHZuY3ZpZXdlcjogZml4CglDdHJsKzxsZXR0ZXI+IFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOC0wMi0wMiAgZHNjaG8gPGRzY2hvPgoKCSogVE9ETywgY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBTREx2bmN2aWV3ZXI6IGZpeAoJdHJhbnNsYXRpb24gb2YgdGhlIFRhYiBrZXkgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTAyLTAyICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPOiBVcGRhdGVkIFRPRE9zIFNpZ25lZC1vZmYtYnk6IEpvaGFubmVzIFNjaGluZGVsaW4gPGpvaGFubmVzLnNjaGluZGVsaW5AZ214LmRlPgoKMjAwOC0wMi0wMSAgcnVuZ2UgPHJ1bmdlPgoKCSogbGlidm5jc2VydmVyL01ha2VmaWxlLmFtOiBOZWVkIHRvIGluY2x1ZGUgenl3cmxldGVtcGxhdGUuYyBpbgoJTWFrZWZpbGUuYW0KCjIwMDgtMDItMDEgIHJ1bmdlIDxydW5nZT4KCgkqIGNsYXNzZXMvc3NsL3NzX3ZuY3ZpZXdlcjogc3luYyBqYXZhIHZpZXdlci4KCjIwMDgtMDItMDEgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc192bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3N2bmMudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2gsIHgxMXZuYy9yYXRlcy5jLCB4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBkdXJpbmcgc3BlZWRzCgllc3RpbWF0ZSwgZ3VhcmQgYWdhaW5zdCBjbGllbnQgZGlzY29ubmVjdGluZy4KCjIwMDgtMDEtMzEgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogRml4IHJmYlNlbmRTdXBwb3J0ZWRFbmNvZGluZ3MgVGhlcmUgd2FzIGEgbG9uZyBzdGFuZGluZyBUT0RPIHRvIG1ha2UgdGhlIGNvdW50aW5nIG9mIHRoZSBzdXBwb3J0ZWQKCWVuY29kaW5ncyBkeW5hbWljLiAgSXQgbmV2ZXIgdHJpZ2dlcmVkLCB1bnRpbCBaWVdSTEUgd2FzIGFkZGVkLiAgTm90aWNlZCBieSBDaHJpc3RpYW4gRWhybGljaGVyLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTAxLTMxICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZS5hbSwgY29uZmlndXJlLmFjOiBSZWN1cnNlIGludG8gc3ViZGlyZWN0b3J5IHgxMXZuYy8gd2hlbgoJY29uZmlndXJpbmcgd2l0aCAtLXdpdGgteDExdm5jIFNpbmNlIHdlIHNlcGFyYXRlZCB0aGUgcGFja2FnZXMgTGliVk5DU2VydmVyIGFuZCB4MTF2bmMsIHRoZXJlIGlzIGEKCWNvbmZpZ3VyZSBzd2l0Y2ggLS13aXRoLXgxMXZuYywgd2l0aG91dCB3aGljaCB4MTF2bmMgaXMgbm90IGJ1aWx0LiAgSG93ZXZlciwgZXZlbiBfd2l0aF8gdGhpcyBzd2l0Y2gsIGl0IGlzIG5vdCBidWlsdCwgYmVjYXVzZSB0aGUKCU1ha2VmaWxlIHdvdWxkIG5vdCByZWN1cnNlIGludG8gdGhlIHgxMXZuYy8gc3ViZGlyZWN0b3J5LiAgRml4IHRoYXQuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDEtMzEgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogRml4IFN3YXAxNklmTEUoKSBvbiBieXRlcyBXaGVuIHN3YXBwaW5nIHRoZSB2YWx1ZXMgZm9yIHRoZSBjb2xvdXIgdGFibGUgdG8gbGl0dGxlLWVuZGlhbgoJKGJlY2F1c2UgdGhleSBhcmUgMTYtYml0IHZhbHVlcyksIHdlIG5lZWQgdG8gY2FzdCAidW5zaWduZWQgY2hhciIgdG8KCSJ1bnNpZ25lZCBzaG9ydCI7IG90aGVyd2lzZSwgTWljcm9zb2Z0J3MgY29tcGlsZXIgd291bGQga2VlcAoJY29tcGxhaW5pbmcuICBOb3RpY2VkIGJ5IENocmlzdGlhbiBFaHJsaWNoZXIuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDEtMzEgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgcmZiL3JmYi5oOiBNb3ZlIHRpZ2h0UXVhbGl0eUxldmVsIG91dCBvZgoJdGhlIEpQRUcgc3BlY2lmaWMgcGFydCBUaGUgdmFyaWFibGUgdGlnaHRRdWFsaXR5TGV2ZWwgaXMgdXNlZCBmb3IgWllXUkxFIGNvbXByZXNzaW9uLCB0b28sCglzbyBpZiBsaWJqcGVnIGlzIG5vdCBwcmVzZW50LCBidXQgbGlieiBpcywgd2Ugc3RpbGwgbmVlZCB0byBoYXZlCgl0aGF0IHN0cnVjdCBtZW1iZXIuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDEtMzAgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci96cmxlLmMsIGxpYnZuY3NlcnZlci96cmxlZW5jb2RldGVtcGxhdGUuYywgcmZiL3JmYi5oOiAKCU1ha2UgWllXUkxFIHRocmVhZC1zYWZlIGZvciBtdWx0aXBsZSBjbGllbnRzIFpZV1JMRSB1c2VkIGEgc3RhdGljIGJ1ZmZlciwgd2hpY2ggZG9lcyBub3Qgd29yayB0b28gd2VsbCBpZiB5b3UKCWhhdmUgbW9yZSB0aGFuIG9uZSBjbGllbnQgaW4gYSB0aHJlYWRlZCBzZXJ2ZXIuICBJbnN0ZWFkLCB3ZSBoYXZlCgl0aGUgZGF0YSBpbiB0aGUgY2xpZW50IHN0cnVjdHVyZSBub3cuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDEtMzAgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci96cmxlLmMsIGxpYnZuY3NlcnZlci96eXdybGV0ZW1wbGF0ZS5jOiBaWVdSTEUgYnJvd24KCXBhcGVyIGJhZyBmaXggV2hpbGUgYWRqdXN0aW5nIHRoZSBjb2Rpbmcgc3R5bGUsIHRocmVlIHN0dXBpZCBtaXN0YWtlcyBoYXBwZW5lZC4KCVRoZSBxdWFsaXR5IGlzIF9ub3RfIGp1c3QgMSwgMiwgMywgYnV0IHJlYWxseSAxLCAzLCAyLiAgQW5kIHRoZQoJbWFjcm9zIFpZV1JMRV9QQUNLX0NPRUZGKCkgYW5kIFpZV1JMRV9VTlBBQ0tfQ09FRkYoKSBleHBhbmQgdG8gbW9yZQoJdGhhbiBvbmUgc3RhdGVtZW50LCB3aGljaCBtZWFucyB0aGF0IHdlIG5lZWQgY3VybHkgYnJhY2tldHMgYXJvdW5kCgl0aGVtIHdoZW4gdGhleSBhcmUgaW4gYW4gaWYgY2xhdXNlLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTAxLTI5ICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPOiBVcGRhdGUgVE9ET3MgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA4LTAxLTI5ICBkc2NobyA8ZHNjaG8+CgoJKiAuZ2l0aWdub3JlOiBBZGQgYSAuZ2l0aWdub3JlIGZpbGUgQXQgbGVhc3Qgb25lIGRldmVsb3BlciAobWUpIHVzZXMgZ2l0IHRvIHdvcmsgb24gbG9jYWwgYnJhbmNoZXMsIGFuZAoJdGhpcyBmaWxlIGRvZXMgbm90IGh1cnQuICBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDEtMjkgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBBZGQgbWlzc2luZyAjaW5jbHVkZSA8dGltZS5oPgoJKHRoYW5rcyBDaHJpc3RpYW4gRWhybGljaGVyKSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDEtMjkgIGRzY2hvIDxkc2Nobz4KCgkqIEFVVEhPUlMsIENoYW5nZUxvZywgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLAoJbGlidm5jc2VydmVyL3NjYWxlLmMsIGxpYnZuY3NlcnZlci96cmxlLmMsCglsaWJ2bmNzZXJ2ZXIvenJsZWVuY29kZXRlbXBsYXRlLmMsIGxpYnZuY3NlcnZlci96eXdybGV0ZW1wbGF0ZS5jLAoJcmZiL3JmYnByb3RvLmg6IEFkZCBaWVdSTEUgc2VydmVyLXNpZGUgc3VwcG9ydCAodGhhbmtzIE5vcmlha2kKCVlhbWF6YWtpLCBIaXRhY2hpKSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDEtMjkgIGRzY2hvIDxkc2Nobz4KCgkqIEFVVEhPUlMsIENNYWtlTGlzdHMudHh0LCBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYywKCXJmYi9yZmJjb25maWcuaC5jbWFrZSwgcmZiL3JmYmludC5oLmNtYWtlOiBBZGQgQ01ha2Ugc3VwcG9ydCAodGhhbmtzCgl0byBDaHJpc3RpYW4gRWhybGljaGVyKSBTaWduZWQtb2ZmLWJ5OiBKb2hhbm5lcyBTY2hpbmRlbGluIDxqb2hhbm5lcy5zY2hpbmRlbGluQGdteC5kZT4KCjIwMDgtMDEtMTUgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9vcHRpb25zLmMsCgl4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IC1waW5nIG9wdGlvbiwgZml4IG1lbW9yeSBjb3JydXB0aW9uIGluCgljb3B5X3RpbGVzIGFmdGVyIHhyYW5kciByZXNpemUuCgoyMDA3LTEyLTE2ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY2xlYW51cC5jLCB4MTF2bmMvZ3VpLmMsCgl4MTF2bmMvbWFjb3N4Q0cuYywgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBzZXR1cCByZW1vdGUtY3RybCBmaWxlIGJ5IGRlZmF1bHQgb24KCSAgICAgICAgbWFjb3N4LiBpbXByb3ZlIHRreDExdm5jIHdydCBhdHRhY2hpbmcgdG8gZXhpc3Rpbmcgc2VydmVyIGluCglpY29uL3RyYXkgbW9kZS4KCjIwMDctMTItMTYgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmNfY21kLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3NzX3ZuY3ZpZXdlciwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc3ZuYy50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvdGlnaHQtdm5jdmlld2VyLWZ1CglsbC5wYXRjaDogRml4ZXMgZm9yIE1hY09TWCAxMC41LiAgSW1wcm92ZSB1c2FnZSBvZiB4MTEgdmlld2VyIG9uCgltYWNvc3guCgoyMDA3LTEyLTE2ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMva2V5Ym9hcmQuYywKCXgxMXZuYy9tYWNvc3hDRy5jLCB4MTF2bmMvbWFjb3N4Q0dTLmMsIHgxMXZuYy9zc2x0b29scy5oLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IGZpeAoJZmluZF9kaXNwbGF5IGFuZCB1c2xlZXAoKSBwcm90b3R5cGUgb24gbWFjb3N4LiAgLWRpc3BsYXkgY29uc29sZSBhbmQKCWNoZWNrIERJU1BMQVkgL3RtcC8uLi46MCBvbiBtYWNvc3guICBpbXBsZW1lbnQgLW5veGluZXJhbWEuCgoyMDA3LTExLTEzICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY2xlYW51cC5jLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9rZXlib2FyZC5oLCB4MTF2bmMvb3B0aW9ucy5jLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IGFkZAoJY2xlYXJfbG9ja3MgKENhcHNfTG9jaywgZXRjKSBhY3Rpb24uCgoyMDA3LTEwLTI3ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2Nvbm5lY3RfYnIudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3NzX3ZuY3ZpZXdlciwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc3ZuYy50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2J1bmRsZTogc3N2bmMKCXN5bmM6IGNvbm5lY3RfYnIudGNsIHNvY2tzNC81IGh0dHAgcHJveGllcywgc3Nfdm5jdmlld2VyIHNvY2tzNQoJcHJveHkuIHNzaCAxc3QgcHJveHkuIHdoYXRpc215aXAuY29tIGZpeC4gMTI3LjAuMC4xIG9uIERhcndpbgoKMjAwNy0xMC0yNyAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvc3Nfdm5jdmlld2VyOiBzc2wgamF2YSBhbmQgc3Nfdm5jdmlld2VyIChzb2NrczUpIHN5bmMuCgoyMDA3LTEwLTI3ICBydW5nZSA8cnVuZ2U+CgoJKiBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCB4MTF2bmMvOHRvMjQuYywgeDExdm5jL0NoYW5nZUxvZywKCXgxMXZuYy9SRUFETUUsIHgxMXZuYy9jbGVhbnVwLmMsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9tYWNvc3hDR1AuYywKCXgxMXZuYy9tYWNvc3hDR1MuYywgeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwKCXgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc2VsZWN0aW9uLmMsCgl4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMvdXRpbC5jLCB4MTF2bmMvd2luX3V0aWxzLmMsCgl4MTF2bmMvd2luYXR0cl90LmgsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94cmVjb3JkLmM6IHgxMXZuYzogLXByb3h5LCAtc3NoCglvcHRpb25zLiBuY2FjaGUgYnVnIGluIC04dG8yNCwgU2VsZWN0aW9uICJ0YXJnZXRzIiBidWdmaXguCgoyMDA3LTEwLTA0ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy91c2VyLmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogYWRkIHhmY2UgdG8gY3JlYXRlZGlzcGxheQoKMjAwNy0wOS0yNiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3VzZXIuYywgeDExdm5jL3V0aWwuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBDT0xVTU5TPTI1NiBhbmQgb3RoZXIgZml4ZXMgdG8KCWZpbmQvY3JlYXRlIHNjcmlwdHMuIE1vcmUgcmF0ZWNoZWNrLgoKMjAwNy0wOS0xNyAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBBdm9pZCBtaXNhbGlnbmVkIGFjY2VzcyBvbiA2NC1iaXQKCW1hY2hpbmVzIFdlIHVzZWQgdG8gYXNzdW1lIHRoYXQgYSBjaGFyWzI1Nl0gaXMgcHJvcGVybHkgYWxpZ25lZCB0byBiZSBjYXN0IHRvCglhbiByZmJTZXJ2ZXJJbml0TXNnLCBidXQgdGhhdCB3YXMgbm90IHRoZSBjYXNlLiAgU28gdXNlIGEgdW5pb24KCWluc3RlYWQuICBOb3RpY2VkIGJ5IEZsYXZpbyBMZWl0bmVyLiAgU2lnbmVkLW9mZi1ieTogSm9oYW5uZXMgU2NoaW5kZWxpbiA8am9oYW5uZXMuc2NoaW5kZWxpbkBnbXguZGU+CgoyMDA3LTA5LTExICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC9zc192bmN2aWV3ZXIsCgljbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLXNzbC5wYXRjaCwKCWNsYXNzZXMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2g6IHVwZGF0ZQoJc3Nfdm5jdmlld2VyIHNjcmlwdCwgamFycywgYW5kIHBhdGNoIGZpbGVzLgoKMjAwNy0wOS0xMSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL1JFQURNRS50eHQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlOiBzc3ZuYzoKCSAgICAgICAgICBzc2h2bmMgc3NoLW9ubHksIHRzdm5jIFRlcm1pbmFsIFNlcnZpY2VzIG1vZGVzLiAgSW1wcm92ZW1lbnRzIHRvCgkgICAgICAgICAgc3Nfdm5jdmlld2VyLiAgQXV0b21hdGljYWxseSBmaW5kIFggZHB5IGFuZCBYIGxvZ2luLiAgUmVvcmdhbml6ZQoJbWVudXMgYSBiaXQuICB+Ly5zc3ZuY3JjIGZpbGUuCgoyMDA3LTA5LTExICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY2xlYW51cC5jLAoJeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9jdXJzb3IuYywgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9zY3JlZW4uYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94cmVjb3JkLmMsIHgxMXZuYy94d3JhcHBlcnMuYzogeDExdm5jOgoJICAgICAgICAgIGZpeCB3aXJlZnJhbWUgY3Jhc2ggdW5kZXIgLWNsaXAuICBBZGQgLXJlZGlyZWN0IGZvciBWTkMgcmVkaXIuCgkgICAgICAgICAgLXJhd2ZiIG51bGxiaWcsIHJhbmRiaWcsIHNvbGlkLCBzd2lybCwgZXRjLiAgRkRfWERNIG1vZGUgdG8KCSAgICAgICAgICBmaW5kX2Rpc3BsYXkuICAtbGlzdGRweS4gIEFkZCBlbmxpZ2h0ZW5tZW50LiAgWHZuYy5yZWRpcmVjdAoJICAgICAgICAgIEZJTkRESVNQTEFZLXZuY19yZWRpcmVjdC4gLXh2bmMsIC14dm5jX3JlZGlyZWN0LCAtc3ZjX3h2bmMuCglBVVRPX1BPUlQuCgoyMDA3LTA5LTA1ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9taXNjL1hkdW1teSwgeDExdm5jL29wdGlvbnMuYywKCXgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc29saWQuYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hldmVudHMuYywKCXgxMXZuYy94ZXZlbnRzLmgsIHgxMXZuYy94cmFuZHIuYywgeDExdm5jL3h3cmFwcGVycy5jOiB4MTF2bmM6CgktYXV0b3BvcnQsIC1maW5kZHB5LCAteGR1bW15LiB3YXRjaCB4cmFuZHIgZXZlbnRzLgoJY2hlY2tfcmVkaXJfc2VydmljZXMoKSB1dGlsaXRpZXMgZm9yIFRlcm1pbmFsIHNlcnZpY2VzLiAgSW1wcm92ZQoJWGR1bW15LgoKMjAwNy0wOS0wNSAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjbGFzc2VzL3NzbC9NYWtlZmlsZS5hbSwgY2xhc3Nlcy9zc2wvcHJveHkudm5jLAoJY2xhc3Nlcy9zc2wvc3Nfdm5jdmlld2VyLAoJY2xhc3Nlcy9zc2wvdGlnaHR2bmMtMS4zZGV2N19qYXZhc3JjLXZuY3ZpZXdlci1zc2wucGF0Y2gsCgljbGFzc2VzL3NzbC91bHRyYXByb3h5LnZuYywKCWNsYXNzZXMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2g6IGNsYXNzZXMvc3NsOgoJaW1wcm92ZSB0aW1lb3V0cywgcG9ydCBmYWxsYmFjaywgYW5kIGNvbm5lY3Rpb24gdGltZS4KCjIwMDctMDgtMTkgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9rZXlib2FyZC5jLCB4MTF2bmMveDExdm5jLjE6IAoJbWFsbG9jIHNjb3JlX2hpbnQgYW5kIG1ha2UgaXQgc2hvcnRzIHRvIHNhdmUgc3BhY2UuCgoyMDA3LTA4LTE5ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBiZXR0ZXIgLXhrYgoJdGllLWJyZWFraW5nIGZvciB1cCBrZXlzdHJva2VzLiAgQWRkIFhzcnYvRkRfWFNSViBjdXN0b20gc2VydmVyIHRvCglGSU5EQ1JFQVRFRElTUExBWSBsaXN0LgoKMjAwNy0wOC0xOCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL3NvbGlkLmMsCgl4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3VzZXIuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogaW1wcm92ZSBGSU5EQ1JFQVRFRElTUExBWSAoLWNyZWF0ZSkKCXNjcmlwdCwgRkRfR0VPTSwgRkRfU0VTUywgRkRfT1BUUywgRkRfUFJPRyBlbnYgdmFycywgYWRkIFh2bmMKCXN1cHBvcnQKCjIwMDctMDgtMTYgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IGFkZCByZXZlcnNlIC1jb25uZWN0CglzdXBwb3J0IHRvIC1kaXNwbGF5IFdBSVQ6LCBmaXggU1NMIEZldGNoIGNlcnQgb25seSBmb3IgLWRpc3BsYXkKCVdBSVQ6CgoyMDA3LTA4LTE0ICBkc2NobyA8ZHNjaG8+CgoJKiBBVVRIT1JTLCBDaGFuZ2VMb2csIGxpYnZuY2NsaWVudC9yZmJwcm90by5jOiBMaWJWTkNDbGllbnQ6IGlmIHRoZQoJR290UmVjdCBob29rIGlzIHNldCwgb3ZlcnJpZGUgZGVmYXVsdCBvcC4KCjIwMDctMDgtMDQgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9vcHRpb25zLmMsCgl4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zb2xpZC5jLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hldmVudHMuYzogeDExdm5jOiAteHJlZnJlc2gsCgkuRENPUHNlcnZlciBidWcsIC11bml4cHdfdW5zYWZlIGlnbm9yZXMgU1NIIHR1bm5lbC4KCjIwMDctMDgtMDQgIHJ1bmdlIDxydW5nZT4KCgkqIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYzogYXJndiA+IDAgZG9lc24ndCBtYWtlIHNlbnNlIGZvciBhCglwb2ludGVyOyBhc3N1bWluZyBhcmd2ICE9IE5VTEwuCgoyMDA3LTA3LTA1ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvb3B0aW9ucy5jLAoJeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IC1kZWJ1Z19uY2FjaGUsIGZpeAoJYmlnIGZvbnRzIGluIHRreDExdm5jLgoKMjAwNy0wNy0wNSAgcnVuZ2UgPHJ1bmdlPgoKCSogY29uZmlndXJlLmFjLCBwcmVwYXJlX3gxMXZuY19kaXN0LnNoOiBjb25maWd1cmUuYWMgY2hlY2sgZm9yCglleHRlcm5hbCBzeXN0ZW0gbGlidm5jc2VydmVyIHZlcnNpb24uIHNldCB4MTF2bmMgdmVyc2lvbiAwLjkuMwoKMjAwNy0wNi0xOCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL29wdGlvbnMuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogc2V0IE5DQUNIRSAtMSBmb3IgcmVsZWFzZS4KCjIwMDctMDYtMTUgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY2xhc3Nlcy9zc2wvdWx0cmEudm5jLCBjbGFzc2VzL3NzbC91bHRyYXNpZ25lZC52bmMsCgljbGFzc2VzL3NzbC91bHRyYXZuYy0xMDItSmF2YVZpZXdlci1zc2wtZXRjLnBhdGNoLCBjb25maWd1cmUuYWMsCgl4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vRGFyd2luLlBvd2VyLk1hY2ludG9zaC92bmMKCXZpZXdlci5zaCwgeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuYywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmNfY21kLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2gsIHgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9zY2FuLmMsCgl4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuY19kZWZzLmMsCgl4MTF2bmMveGV2ZW50cy5jOiB4MTF2bmM6IGZpeCBidWlsZCBlcnJvciBpZiBsaWJzc2wgaXMgbWlzc2luZyBvcgoJLS13aXRob3V0LXNzbCBzdXBwbGllZC4KCjIwMDctMDUtMjcgIHJ1bmdlIDxydW5nZT4KCgkqCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvdGlnaHQtdm5jdmlld2VyLWZ1CglsbC5wYXRjaDogc3luYyBzc3ZuYyB1bml4IHZpZXdlciBkaWZmczsgZml4IFggY3Vyc29yIHNpemUuCgoyMDA3LTA1LTI3ICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC9zc192bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2g6IHVwZGF0ZSBqYXZhIHZpZXdlciBhbmQgc3N2bmMuCgoyMDA3LTA1LTI3ICBydW5nZSA8cnVuZ2U+CgoJKiBjb25maWd1cmUuYWMsIHgxMXZuYy9SRUFETUU6IGNvbmZpZ3VyZS5hYzogZml4IHgxMXZuYwoJLS13aXRoLXN5c3RlbS1saWJ2bmNzZXJ2ZXIgYnVpbGQgYW5kIGFkZCAtUiBsaW5rIGZsYWcuCgoyMDA3LTA1LTI3ICBydW5nZSA8cnVuZ2U+CgoJKiBsaWJ2bmNzZXJ2ZXItY29uZmlnLmluOiBGaXggLS1saWJzLCBlY2hvIC1uIGRvZXNuJ3Qgd29yawoJZXZlcnl3aGVyZS4gIFF1ZXN0aW9uOiB3aHkgLVIgb25seSBmb3IgU29sYXJpcz8/CgoyMDA3LTA1LTI3ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvTWFrZWZpbGUuYW06IGNsb2JiZXJlZCB4MTF2bmMvTWFrZWZpbGUuYW0gYnkgbWlzdGFrZS4KCjIwMDctMDUtMjcgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgTWFrZWZpbGUuYW0sIGNvbmZpZ3VyZS5hYywgcHJlcGFyZV94MTF2bmNfZGlzdC5zaCwKCXgxMXZuYy9SRUFETUU6IGNvbmZpZ3VyZTogbWFrZSBtb3JlIG9mIGEgc3BsaXQgYmV0d2VlbiBsaWJ2bmNzZXJ2ZXIKCWFuZCB4MTF2bmMgcGtncy4KCjIwMDctMDUtMjYgIHJ1bmdlIDxydW5nZT4KCgkqIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IGluIC11bml4cHcsIGluaXRpYWwgRXNjYXBlIG1lYW5zIG5vCgllY2hvIHVzZXJuYW1lLgoKMjAwNy0wNS0yMiAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvc3Nfdm5jdmlld2VyOiB1cGRhdGUgcmVndWxhciBTU0wgdmlld2VyIGphcnM7IHVwZGF0ZQoJc3Nfdm5jdmlld2VyIHNjcmlwdC4KCjIwMDctMDUtMjIgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc192bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3N2bmMudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2g6IHVwZGF0ZSBzc3ZuYyAoU1NWTkNfRVhUUkFfU0xFRVApLCBhbmQgdW5peCB2aWV3ZXIgKDEvbgoJbWVudSBhbmQgY2hhdCB3aW5kb3dzKQoKMjAwNy0wNS0yMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL29wdGlvbnMuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBzZXQKCXRoaW5ncyB1cCAoTkNBQ0hFID0gLTEpIHRvIG5vdCBoYXZlIC1uY2FjaGUgb24gYnkgZGVmYXVsdC4KCjIwMDctMDUtMTkgIHJ1bmdlIDxydW5nZT4KCgkqIGNsYXNzZXMvc3NsL3VsdHJhdm5jLTEwMi1KYXZhVmlld2VyLXNzbC1ldGMucGF0Y2gsCglsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIHgxMXZuYy9SRUFETUUsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuY19kZWZzLmM6IE1vcmUgZml4ZXMgdG8gdWx0cmEgamF2YQoJdmlld2VyLCB1bHRyYWZpbGV4ZmVyIGRlYnVnZ2luZyBvdXRwdXQsIGZpeCAtbG9vcCBpbiAueDExdm5jcmMgY2FzZS4KCjIwMDctMDUtMTcgIHJ1bmdlIDxydW5nZT4KCgkqIGxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvcmZidGlnaHRzZXJ2ZXIuYzogUHJlLUM5OQoJZGVjbGFyYXRpb24gZXJyb3IuCgoyMDA3LTA1LTE3ICBydW5nZSA8cnVuZ2U+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmM6IEluIHJmYlNlbmRGaWxlVHJhbnNmZXJDaHVuaygpIGNoZWNrCglwZXJtaXRGaWxlVHJhbnNmZXIgMXN0IHRvIGF2b2lkIGZhbHNlIGFsYXJtcy4KCjIwMDctMDUtMTYgIHJ1bmdlIDxydW5nZT4KCgkqIHByZXBhcmVfeDExdm5jX2Rpc3Quc2g6IEFkZCBVbHRyYVZpZXdlclNTTC5qYXIsIGV0Yy4gdG8gZGlzdCBsaXN0LgoKMjAwNy0wNS0xNiAgcnVuZ2UgPHJ1bmdlPgoKCSogbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9oYW5kbGVmaWxldHJhbnNmZXJyZXF1ZXN0LmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL3JmYnRpZ2h0c2VydmVyLmM6IEFkZCBsb2dnaW5nCglvdXRwdXQgdG8ga25vdyB3aGVuIGluc2lkZSB0aWdodHZuYy1maWxldHJhbnNmZXIgZnVuY3Rpb25zLgoKMjAwNy0wNS0xNiAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvTWFrZWZpbGUuYW0sIGNsYXNzZXMvc3NsL1JFQURNRSwKCWNsYXNzZXMvc3NsL3NzX3ZuY3ZpZXdlciwgY2xhc3Nlcy9zc2wvdWx0cmEudm5jLAoJY2xhc3Nlcy9zc2wvdWx0cmFzaWduZWQudm5jLAoJY2xhc3Nlcy9zc2wvdWx0cmF2bmMtMTAyLUphdmFWaWV3ZXItc3NsLWV0Yy5wYXRjaDogQWRkIFNTTCBzdXBwb3J0Cgl0byBVbHRyYVZOQyBKYXZhIFZpZXdlciAoaGFzIGZpbGV0cmFuc2ZlciBndWkpLiAgRml4IFVsdHJhVk5DIGJ1Z3MKCWFuZCBpbXByb3ZlIEZUUCBndWkgYSBiaXQuCgoyMDA3LTA1LTE2ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc192bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3N2bmMudGNsLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiBzc3ZuYzogU09DS1Mgc3VwcG9ydCwgUE9SVD0sIFZlcmlmeSBhbGwgQ2VydHMKCWFuZCBhY2NlcHRlZCBjZXJ0cyBsb2dnaW5nLiB4MTF2bmMgU1NMIGRlYnVnZ2luZyBvdXRwdXQuCgoyMDA3LTA1LTE2ICBydW5nZSA8cnVuZ2U+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmM6IERyb3AgY2xpZW50IGlmIFVsdHJhVk5DIGZpbGV0cmFuc2ZlciBpcwoJbm90IGVuYWJsZWQuCgoyMDA3LTA1LTA3ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvUkVBRE1FLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3NzX3ZuY3ZpZXdlciwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc3ZuYy50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2J1bmRsZTogc3N2bmM6CglIb21lIGRpciBjaGFuZ2luZywgc2tpcCBlbmMgd2FybmluZywgbWVtb3J5IHN0aWNrIGRvYy4KCjIwMDctMDUtMDcgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9vcHRpb25zLmMsCgl4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuY19kZWZzLmMsCgl4MTF2bmMveGV2ZW50cy5jOiB4MTF2bmM6IGxvd2VyIC13YWl0IGFuZCAtZGVmZXIgdG8gMjBtcy4gRHJvcAoJY2xpZW50IGRvaW5nIHVsdHJhdm5jIHN0dWZmIGluIC11bml4cHcgZHVyaW5nIGxvZ2luIHBoYXNlLgoKMjAwNy0wNS0wNSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3VuaXhwdy5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94ZXZlbnRzLmM6IGZpbGV4ZmVyCgl3YXJuaW5ncyBhbmQgbWVzc2FnZXMuCgoyMDA3LTA1LTA1ICBydW5nZSA8cnVuZ2U+CgoJKiBjb25maWd1cmUuYWMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvdXNlci5jLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogYWRkCglncm91cHMgaGFuZGxpbmcgZm9yIC11c2VycyBtb2RlLgoKMjAwNy0wNS0wNCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IGFkZCBXQUlUQkc9MSBlbnYuCgl2YXIsIGFkZCBtd20gdG8gLWNyZWF0ZS4KCjIwMDctMDUtMDEgIHJ1bmdlIDxydW5nZT4KCgkqIGNsYXNzZXMvc3NsL01ha2VmaWxlLmFtLCBjbGFzc2VzL3NzbC9vbmV0aW1la2V5LAoJY2xhc3Nlcy9zc2wvc3Nfdm5jdmlld2VyLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9zc2xoZWxwZXIuYywKCXgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdXNlci5jLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogc3NsOiBqYXZhIHZpZXdlciBwYXRjaGVzLCBvbmV0aW1la2V5OyB4MTF2bmMKCXNldHNpZC9zZXRwZ3JwIGFuZCAtY2MgNCBmb3IgLWNyZWF0ZQoKMjAwNy0wNC0yOCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvUkVBRE1FLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuYywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmNfY21kLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9idWlsZC51bml4LAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2gsIHgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9zc2xoZWxwZXIuYywKCXgxMXZuYy9zc2xoZWxwZXIuaCwgeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzoKCS11c2VycyBzc2xwZWVyPSBvcHRpb24uIFJGQl9TU0xfQ0xJRU5UX0NFUlQsIC1uY2FjaGUgMTAgZGVmYXVsdAoKMjAwNy0wNC0xOSAgcnVuZ2UgPHJ1bmdlPgoKCSogcHJlcGFyZV94MTF2bmNfZGlzdC5zaCwgeDExdm5jL1JFQURNRSwgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBzZXQgdG8gbmV4dCByZWxlYXNlCgkoMC45LjEpCgoyMDA3LTA0LTE5ICBydW5nZSA8cnVuZ2U+CgoJKgoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2g6IEFkZCBsYXRlc3Qgdm5jdmlld2VyIHBhdGNoLgoKMjAwNy0wNC0xOSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc192bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3N2bmMudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3N0dW5uZWwtc2VydmVyLmNvbmYsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2J1bmRsZTogU3luYyB3aXRoCglTU1ZOQyAxLjAuMTUKCjIwMDctMDQtMTggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9SRUFETUUsIHgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBzbWFsbCBjaGFuZ2VzIGZvciAwLjkKCXJlbGVhc2UuCgoyMDA3LTA0LTA4ICBydW5nZSA8cnVuZ2U+CgoJKiBwcmVwYXJlX3gxMXZuY19kaXN0LnNoOiBjaGFuZ2UgeDExdm5jIHZlcnNpb24gdG8gMC45CgoyMDA3LTA0LTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBjb25maWd1cmUuYWM6IHByZXBhcmUgZm9yIHJlbGVhc2Ugb2YgTGliVk5DU2VydmVyIDAuOQoKMjAwNy0wNC0wNyAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdXNlci5jLCB4MTF2bmMvdXNlcmlucHV0LmMsCgl4MTF2bmMveDExdm5jLjE6IHgxMXZuYzogYWRkIGdub21lLCBrZGUsIGV0Yy4gRklORENSRUFURURJU1BMQVkKCXRhZ3MuCgoyMDA3LTA0LTA3ICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC9zc192bmN2aWV3ZXIsCgljbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLXNzbC5wYXRjaDogdXBkYXRlCgl2aWV3ZXIgamFycyBhbmQgc3Mgc2NyaXB0CgoyMDA3LTA0LTA3ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy92NGwuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogamF2YQoJaW5nb3JlUHJveHksIGZpeCBvbGQgbGlic3NsIGZyZWVfZnVuYyBwcm9ibGVtCgoyMDA3LTA0LTA2ICBkc2NobyA8ZHNjaG8+CgoJKiBBVVRIT1JTLCBDaGFuZ2VMb2csIHJmYi9yZmJjbGllbnQuaDogcmZiY2xpZW50Lmg6IHVzZSAnZXh0ZXJuICJDIicKCXRvIG1ha2UgaXQgY29udmVuaWVudCB0byBpbmNsdWRlIGZyb20gQysrCgoyMDA3LTA0LTA2ICBkc2NobyA8ZHNjaG8+CgoJKiBBVVRIT1JTLCBDaGFuZ2VMb2csIHJmYi9yZmIuaDogcmZiLmg6IERvIG5vdCBtaXNwbGFjZSBndWFyZHMgVGhpcyBidWdsZXQgbWFkZSBpdCBpbXBvc3NpYmxlIHRvIGRvdWJsZSBpbmNsdWRlIHJmYi5oIGZyb20gQysrLgoKMjAwNy0wMy0zMCAgZHNjaG8gPGRzY2hvPgoKCSogcHJlcGFyZV94MTF2bmNfZGlzdC5zaDogYnVpbGQgeDExdm5jIHdpdGggc3RhdGljIGxpYnJhcmllcyAoYXQKCWxlYXN0IGZvciBub3cpIE1heWJlIGF0IGEgbGF0ZXIgc3RhZ2UsIHdlIHdhbnQgeDExdm5jIHRvIHBpY2sgdXAgb24gZXhpc3RpbmcKCWxpYnZuY3NlcnZlci5zbyBhbmQgbGlidm5jY2xpZW50LnNvLCBidXQgcmlnaHQgbm93LCB4MTF2bmMgYW5kIHRoZQoJbGlicmFyaWVzIHByb2dyZXNzIHRvZ2V0aGVyIChhbmQgdGh1cyBpdCBpcyBiZXR0ZXIgdG8gYnVpbGQgc3RhdGljLAoJbmVjZXNzYXJpbHkgdXAtdG8tZGF0ZSBsaWJyYXJpZXMgZm9yIHgxMXZuYykuCgoyMDA3LTAzLTMwICBkc2NobyA8ZHNjaG8+CgoJKiBBVVRIT1JTLCBDaGFuZ2VMb2csIGFjaW5jbHVkZS5tNCwgY2xpZW50X2V4YW1wbGVzL01ha2VmaWxlLmFtLAoJY29uZmlndXJlLmFjLCBjb250cmliL01ha2VmaWxlLmFtLCBleGFtcGxlcy9NYWtlZmlsZS5hbSwKCWxpYnZuY2NsaWVudC9NYWtlZmlsZS5hbSwgbGlidm5jc2VydmVyL01ha2VmaWxlLmFtLCBsdG1haW4uc2gsCgl0ZXN0L01ha2VmaWxlLmFtLCB2bmN0ZXJtL01ha2VmaWxlLmFtLCB4MTF2bmMvTWFrZWZpbGUuYW06IEJ1aWxkCglzaGFyZWQgbGlicmFyaWVzIHBlciBkZWZhdWx0IFRoYW5rcyB0byBHdWlsbGF1bWUgUm91c3NlLCB3ZSBub3cgdXNlIGxpYnRvb2wgdG8gYnVpbGQgc2hhcmVkCglsaWJyYXJpZXMuCgoyMDA3LTAzLTI1ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvcG0uYywgeDExdm5jL3NjYW4uYywgeDExdm5jL3VzZXIuYywKCXgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3hldmVudHMuYzogeDExdm5jOiByZW1vdmUgYnVpbGQgZXJyb3JzLAoJZ2V0IC1uY2FjaGUgd29ya2luZyBvbiBtYWNvc3ggYWdhaW4uCgoyMDA3LTAzLTI0ICBydW5nZSA8cnVuZ2U+CgoJKiBsaWJ2bmNzZXJ2ZXIvY3Vyc29yLmM6IEZpeCBzaG9ydCB2cy4gY2hhciBwcm9ibGVtIHdpdGggWCBjdXJzb3JzLgoJSGF2ZSBmZyA9PSBiZyA9PSAwIGltcGx5IGludGVycG9sYXRpb24gdG8gQiZXLgoKMjAwNy0wMy0yNCAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvc3Nfdm5jdmlld2VyLAoJY2xhc3Nlcy9zc2wvdGlnaHR2bmMtMS4zZGV2N19qYXZhc3JjLXZuY3ZpZXdlci1zc2wucGF0Y2g6IHJldmVyc2UKCWNvbm5lY3Rpb25zIGZvciBzc192bmN2aWV3ZXIuICBqYXZhIG9uZS10aW1lLWtleXMuCgoyMDA3LTAzLTI0ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY29ubmVjdGlvbnMuYywKCXgxMXZuYy9oZWxwLmMsIHgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3NzbGhlbHBlci5jLAoJeDExdm5jL3NzbGhlbHBlci5oLCB4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLAoJeDExdm5jL3VzZXIuYywgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiByZXZlcnNlIFNTTCBjb25uZWN0aW9ucy4gLXNsZWVwaW4KCW9wdGlvbi4KCjIwMDctMDMtMjQgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2g6IHJldmVyc2UgKGxpc3RlbmluZykgVk5DIGNvbm5lY3Rpb25zLgoKMjAwNy0wMy0yMCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL1JFQURNRS50eHQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3N2bmMudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2J1aWxkLnVuaXgsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2J1bmRsZSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy90aWdodC12bmN2aWV3ZXItZnUKCWxsLnBhdGNoOiBzc3ZuYzogc3luYyB0byAxLjAuMTMgcmVsZWFzZS4KCjIwMDctMDMtMjAgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jdXJzb3IuYywgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9yZW1vdGUuYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3VzZXIuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiAtaHR0cHNyZWRpciwKCXgxMWN1cnNvciBmaXgsIG5jPU4gbG9naW4gb3B0LCBubyAtbmNhY2hlIGJldGF0ZXN0IGZvciBqYXZhIHZpZXdlci4KCjIwMDctMDMtMjAgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyL2h0dHBkLmM6IEFkZCAiQ29ubmVjdGlvbjogY2xvc2UiIHRvIEhUVFAKCXJlcGxpZXMuCgoyMDA3LTAzLTE3ICBkc2NobyA8ZHNjaG8+CgoJKiBBVVRIT1JTLCBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci9tYWluLmMsIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogCglGaXggYSBsb2NraW5nIHByb2JsZW0gaW4gbGlidm5jc2VydmVyIFRoZXJlIHNlZW1zIHRvIGJlIGEgbG9ja2luZyBwcm9ibGVtIGluIGxpYnZuY3NlcnZlciwgd2l0aCByZXNwZWN0IHRvCglob3cgY29uZGl0aW9uIHZhcmlhYmxlcyBhcmUgdXNlZC4gIE9uIGNlcnRhaW4gbWFjaGluZXMgaW4gb3VyIGxhYiwgd2hlbiB1c2luZyBhIHZuY3ZpZXdlciB0byB2aWV3IGEKCWRpc3BsYXkgdGhhdCBoYXMgYSB2ZXJ5IGhpZ2ggcmF0ZSBvZiB1cGRhdGVzLCB3ZSB3aWxsIG9jY2FzaW9uYWxseQoJc2VlIHRoZSBWTkMgc2VydmVyIHByb2Nlc3MgY3Jhc2guICBJbiBvbmUgc3RhY2sgdHJhY2UgdGhhdCB3YXMKCW9idGFpbmVkLCBhbiBhc3NlcnRpb24gaGFkIHRyaXBwZWQgaW4gZ2xpYmMncyBwdGhyZWFkX2NvbmRfd2FpdCwKCXdoaWNoIHdhcyBjYWxsZWQgZnJvbSBjbGllbnRPdXRwdXQuICBJbnNwZWN0aW9uIG9mIGNsaWVudE91dHB1dCBzdWdnZXN0cyB0aGF0IFdBSVQgaXMgYmVpbmcgY2FsbGVkCglpbmNvcnJlY3RseS4gIFRoZSBtdXRleCB0aGF0IHByb3RlY3RzIGEgY29uZGl0aW9uIHZhcmlhYmxlIHNob3VsZAoJYWx3YXlzIGJlIGxvY2tlZCB3aGVuIGNhbGxpbmcgd2FpdCwgYW5kIG9uIHJldHVybiBmcm9tIHRoZSB3YWl0IHdpbGwKCXN0aWxsIGJlIGxvY2tlZC4gIFRoZSBhdHRhY2hlZCBwYXRjaCBmaXhlcyB0aGUgbG9ja2luZyBhcm91bmQgdGhpcwoJY29uZGl0aW9uIHZhcmlhYmxlLCBhbmQgb25lIG90aGVyIHRoYXQgSSBmb3VuZCBieSBncmVwcGluZyB0aGUKCXNvdXJjZSBmb3Igc2ltaWxhciBvY2N1cnJlbmNlcy4gIFNpZ25lZC1vZmYtYnk6IENoYXJsZXMgQ29mZmluZyA8Y2NvZmZpbmdAbm92ZWxsLmNvbT4KCjIwMDctMDMtMTMgIHJ1bmdlIDxydW5nZT4KCgkqCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvdGlnaHQtdm5jdmlld2VyLWZ1CglsbC5wYXRjaDogc3N2bmM6IHN5bmMgc3JjL3BhdGNoZXMvdGlnaHQtdm5jdmlld2VyLWZ1bGwucGF0Y2gKCjIwMDctMDMtMTMgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9zY2FuLmMsCgl4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zb2xpZC5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IGZpeCBjcmFzaCBmb3Iga2RlIGRjb3AuIGxpbWl0IG5jYWNoZQoJYmV0YSB0ZXN0ZXIgdG8gOTZNQiB2aWV3ZXJzLgoKMjAwNy0wMi0xOSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1dpbmRvd3MvUkVBRE1FLnR4dCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc192bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3N2bmMudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL19nZXRwYXRjaGVzLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2g6IHNzdm5jOiBtb3JlIGZpeGVzIGZvciBwYWludGluZyBwcm9ibGVtcy4KCjIwMDctMDItMTkgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9SRUFETUUsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogZml4IC11c2VycyBib2I9IGluIC1pbmV0ZCBtb2RlLgoKMjAwNy0wMi0xOSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuYywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmNfY21kLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3NzX3ZuY3ZpZXdlciwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc3ZuYy50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYnVpbGQudW5peCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1mdQoJbGwucGF0Y2g6IHN0b3JlIDEuMC4xMiBzbmFwc2hvdC4KCjIwMDctMDItMTkgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZXZlbnRzLmM6IHgxMXZuYzogR2V0Cgl1bHRyYXZuYyB0ZXh0Y2hhdCB3b3JraW5nIHdpdGggc3N2bmMuCgoyMDA3LTAyLTE3ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy94MTF2bmMuMTogCgl4MTF2bmM6IG1ha2UgaHR0cHMgZmV0Y2ggaW4gYWNjZXB0X29wZW5zc2woKSB3b3JrIGFnYWluLgoKMjAwNy0wMi0xNiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2FsbG93ZWRfaW5wdXRfdC5oLAoJeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9rZXlib2FyZC5jLAoJeDExdm5jL2tleWJvYXJkLmgsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjcmVlbi5jLAoJeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VuaXhwdy5jLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hldmVudHMuYzogeDExdm5jOiBhZGQKCUZpbGVzIG1vZGUgdG8gdXNlciBjb250cm9sbGVkIGlucHV0LiBtb3JlIHVsdHJhL3RpZ2h0IGZpbGV4ZmVyCgl0d2Vha3MuICByZmJ2ZXJzaW9uIHJlbW90ZSBjb250cm9sLiBub25jYWNoZS9uYyB1bml4cHcgdXNlciBvcHQuCgoyMDA3LTAyLTE2ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvYXZhaGkuYywKCXgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvb3B0aW9ucy5jLAoJeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2NyZWVuLmMsCgl4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwKCXgxMXZuYy91bml4cHcuYywgeDExdm5jL3VzZXIuYywgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jLmgsIHgxMXZuYy94MTF2bmNfZGVmcy5jLCB4MTF2bmMveGV2ZW50cy5jOiB4MTF2bmM6Cgl0aWdodHZuYyBmaWxldHJhbnNmZXIgb2ZmIGJ5IGRlZmF1bHQuIEZJTkRDUkVBVEVESVNQTEFZIGdlb21ldHJ5LgoKMjAwNy0wMi0xMiAgcnVuZ2UgPHJ1bmdlPgoKCSogY29uZmlndXJlLmFjLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvTWFrZWZpbGUuYW0sCgl4MTF2bmMvUkVBRE1FLCB4MTF2bmMvYXZhaGkuYywgeDExdm5jL2F2YWhpLmgsIHgxMXZuYy9jbGVhbnVwLmMsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcmVtb3RlLmMsCgl4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMvd2luX3V0aWxzLmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogYWRkIGF2YWhpIChha2EKCW1ETlMvWmVyb2NvbmYvQm9uam91ci4uLikgc3VwcG9ydCB0aGFua3MgdG8gRGllZ28gUGV0dGVuby4gYWRkIC1maW5kCgktY3JlYXRlCgoyMDA3LTAyLTEyICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY29ubmVjdGlvbnMuYywKCXgxMXZuYy9oZWxwLmMsIHgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9wbS5jLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy9zc2x0b29scy5oLAoJeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VuaXhwdy5jLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuaCwKCXgxMXZuYy94MTF2bmNfZGVmcy5jLCB4MTF2bmMveGV2ZW50cy5jLCB4MTF2bmMveGV2ZW50cy5oLAoJeDExdm5jL3h3cmFwcGVycy5jOiB4MTF2bmM6IC1ncmFiYWx3YXlzLCAtZm9yY2VkcG1zLCAtY2xpZW50ZHBtcywKCS1ub3NlcnZlcmRwbXMsIC1sb29wYmcsIC1zdmMsIC14ZG1zdmMKCjIwMDctMDItMTAgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL3BtLmMsIHgxMXZuYy9wbS5oLCB4MTF2bmMvcG9pbnRlci5jLCB4MTF2bmMvcG9pbnRlci5oLAoJeDExdm5jL3NjYW4uYywgeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3VuaXhwdy5jLAoJeDExdm5jL3VuaXhwdy5oLCB4MTF2bmMvdXNlci5jLCB4MTF2bmMvdXNlci5oLCB4MTF2bmMvdXNlcmlucHV0LmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuY19kZWZzLmMsCgl4MTF2bmMveGV2ZW50cy5jLCB4MTF2bmMveGV2ZW50cy5oOiB4MTF2bmM6IHdhdGNoIHRleHRjaGF0LCBldGMgaW4KCXVuaXhwdywgaW1wbGVtZW50IGtiZFJlbGVhc2VBbGxLZXlzLCBzZXRTaW5nbGVXaW5kb3csCglzZXRTZXJ2ZXJJbnB1dC4gd2F0Y2ggZm9yIE9wZW5HTCBhcHBzIGJyZWFraW5nIFhEQU1BR0UuCgoyMDA3LTAyLTA1ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvUkVBRE1FLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuYywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc192bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3N2bmMudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2J1aWxkLnVuaXgsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2J1bmRsZSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy90aWdodC12bmN2aWV3ZXItZnUKCWxsLnBhdGNoOiBzc3ZuYyAxLjAuMTEgZmlsZXMuCgoyMDA3LTAyLTA1ICBydW5nZSA8cnVuZ2U+CgoJKiBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmgsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiBTZXR1cCBmb3IgeDExdm5jIDAuOC41CgoyMDA3LTAyLTAxICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmMsCglyZmIvcmZiY2xpZW50Lmg6IExpYlZOQ0NsaWVudDogc29tZSB1c2VycyBkbyBub3Qgd2FudCB0byBnZXQKCXdob2xlLXNjcmVlbiB1cGRhdGVzOyBpbnRyb2R1Y2UgY2xpZW50LT51cGRhdGVSZWN0IGZvciB0aGF0CgoyMDA3LTAyLTAxICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNjbGllbnQvenJsZS5jOiBzb21ldGltZXMgenJsZSBzZW5kcyB0b28gbWFueSBieXRlczsgcGxheQoJc2FmZQoKMjAwNy0wMS0zMSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9wb2ludGVyLmMsCgl4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zb2xpZC5jLCB4MTF2bmMvdXNlcmlucHV0LmMsCgl4MTF2bmMveGRhbWFnZS5jLCB4MTF2bmMveGV2ZW50cy5jOiBmaXggd2FybmluZ3MuCgoyMDA3LTAxLTMxICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2c6IGxpYnZuY2NsaWVudCBjaGFuZ2VzLgoKMjAwNy0wMS0zMSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL01ha2VmaWxlLmFtLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2NsZWFudXAuYywgeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9jdXJzb3IuYywKCXgxMXZuYy9oZWxwLmMsIHgxMXZuYy9rZXlib2FyZC5jLCB4MTF2bmMvbWFjb3N4LmMsCgl4MTF2bmMvbWFjb3N4Q0cuYywgeDExdm5jL21hY29zeENHUy5jLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1uZQoJd2Zic2l6ZS5wYXRjaCwgeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3BhcmFtcy5oLAoJeDExdm5jL3BvaW50ZXIuYywgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2NyZWVuLmMsCgl4MTF2bmMvc2NyZWVuLmgsIHgxMXZuYy9zb2xpZC5jLCB4MTF2bmMvc29saWQuaCwgeDExdm5jL3NzbHRvb2xzLmgsCgl4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdW5peHB3LmMsCgl4MTF2bmMvdW5peHB3LmgsIHgxMXZuYy91c2VyLmMsIHgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3V0aWwuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hkYW1hZ2UuYywgeDExdm5jL3hkYW1hZ2UuaCwKCXgxMXZuYy94ZXZlbnRzLmM6IHgxMXZuYzogLXJlZmxlY3QsIC1OLiAtbmNhY2hlLCBGSU5ERElTUExBWSwKCUZJTkRDUkVBVEVESVNQTEFZLCBpbXByb3ZlbWVudHMuICBNT0RUV0VBS19MT1dFU1Qgd29ya2Fyb3VuZC4KCjIwMDctMDEtMzEgIHJ1bmdlIDxydW5nZT4KCgkqIE1ha2VmaWxlLmFtLCBsaWJ2bmNjbGllbnQvY3Vyc29yLmMsIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLAoJbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jLCBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCByZmIvcmZiY2xpZW50Lmg6IAoJbGlidm5jY2xpZW50OiBhZGQgR290Q3Vyc29yU2hhcGUoKSBhbmQgR290Q29weVJlY3QoKTsgeDExdm5jIGRlcCBvbgoJbGlidm5jY2xpZW50CgoyMDA3LTAxLTI1ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmM6IGNvbXBpbGUgZml4IGZvciBNaW5HVwoKMjAwNy0wMS0yNSAgZHNjaG8gPGRzY2hvPgoKCSogVmlzdWFsTmFDcm8vTWFrZWZpbGUuYW06IGNvbXBsYWluIHdoZW4gU1dJRyBpcyBub3QgcHJlc2VudCwgYnV0CgluZWVkZWQKCjIwMDctMDEtMjUgIGRzY2hvIDxkc2Nobz4KCgkqIFZpc3VhbE5hQ3JvL2NvbmZpZ3VyZS5hYzogQ29tcGxhaW4gaWYgbGlidm5jc2VydmVyLWNvbmZpZyB3YXMgbm90Cglmb3VuZCBpbiBQQVRICgoyMDA3LTAxLTEwICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy91c2VyaW5wdXQuaCwKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hkYW1hZ2UuYywgeDExdm5jL3hldmVudHMuYywKCXgxMXZuYy94aW5lcmFtYS5jLCB4MTF2bmMveHJhbmRyLmg6IHNvbWUgLW5jYWNoZSBwZXJmb3JtYW5jZQoJaW1wcm92ZW1lbnRzLCByb290cGl4bWFwIHdhdGNoaW5nLCBnbm9tZSB3bSBoZXVyaXN0aWNzCgoyMDA3LTAxLTA5ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiBGaXggb2xkIGNvbXBpbGVyIGVycm9yOyBmaXggd2FybmluZ3MuCgoyMDA3LTAxLTA5ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zb2xpZC5jLCB4MTF2bmMvc29saWQuaCwKCXgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hkYW1hZ2UuYzogbW9yZSBzcGVlZCBhbmQgYWNjdXJhY3kKCWltcHJvdmVtZW50cyB0byAtbmNhY2hlIG1vZGUuCgoyMDA3LTAxLTA3ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvdXNlcmlucHV0LmMsCgl4MTF2bmMvd2luYXR0cl90LmgsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5oLAoJeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZGFtYWdlLmM6IGNoYW5nZXMgdG8gbmNhY2hlIGNhY2hlCglhZ2luZyBhbmQgeGRhbWFnZSBza2lwcGluZwoKMjAwNy0wMS0wNCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL3VzZXJpbnB1dC5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jLAoJeDExdm5jL3hkYW1hZ2UuYzogeDExdm5jOiBtb3JlIC1uY2FjaGUgaW1wcm92ZW1lbnRzLgoKMjAwNy0wMS0wMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL29wdGlvbnMuYywKCXgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjYW4uYywKCXgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLAoJeDExdm5jL3VzZXIuYywgeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmMsCgl4MTF2bmMveGV2ZW50cy5jLCB4MTF2bmMveGV2ZW50cy5oOiB4MTF2bmM6IG1vcmUgLW5jYWNoZQoJaW1wcm92ZW1lbnRzLgoKMjAwNi0xMi0yOSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jLzh0bzI0LmMsIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jdXJzb3IuYywgeDExdm5jL29wdGlvbnMuYywKCXgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9wb2ludGVyLmMsIHgxMXZuYy9zY3JlZW4uYywKCXgxMXZuYy9zZWxlY3Rpb24uYywgeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMvdXRpbC5jLAoJeDExdm5jL3dpbl91dGlscy5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmNfZGVmcy5jLCB4MTF2bmMveGV2ZW50cy5jLCB4MTF2bmMveHdyYXBwZXJzLmM6IHgxMXZuYwoJLW5jYWNoZSBvbiBieSBkZWZhdWx0IGZvciBiZXRhIHRlc3QuICBmaXggLW5vZmIgJiAtcmF3ZmIgbW9kZXMuCgoyMDA2LTEyLTI4ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy93aW5fdXRpbHMuYzogYSBjb3VwbGUKCW1vcmUgd2FybmluZ3MuLi4KCjIwMDYtMTItMjggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy84dG8yNC5jLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY29ubmVjdGlvbnMuYywKCXgxMXZuYy9jdXJzb3IuYywgeDExdm5jL2d1aS5jLCB4MTF2bmMva2V5Ym9hcmQuYywgeDExdm5jL21hY29zeC5jLAoJeDExdm5jL21hY29zeC5oLCB4MTF2bmMvbWFjb3N4Q0cuYywgeDExdm5jL21hY29zeENHUy5jLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmNfY21kLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlLAoJeDExdm5jL25veDExX2Z1bmNzLmgsIHgxMXZuYy9wb2ludGVyLmMsIHgxMXZuYy9yZW1vdGUuYywKCXgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3NlbGVjdGlvbi5jLCB4MTF2bmMvc29saWQuYywKCXgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3V0aWwuYywgeDExdm5jL3dpbl91dGlscy5jLAoJeDExdm5jL3hldmVudHMuYywgeDExdm5jL3hyYW5kci5jLCB4MTF2bmMveHJlY29yZC5jLAoJeDExdm5jL3h3cmFwcGVycy5jOiBzdGlsbCBtb3JlIGNvbXBpbGVyIHdhcm5pbmdzOyBzc3ZuYyAxLjAuOSBzeW5jLgoKMjAwNi0xMi0yOCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jLzh0bzI0LmMsIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jbGVhbnVwLmMsCgl4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2N1cnNvci5jLCB4MTF2bmMvbWFjb3N4LmMsCgl4MTF2bmMvbWFjb3N4LmgsIHgxMXZuYy9tYWNvc3hDRy5jLCB4MTF2bmMvbWFjb3N4Q0cuaCwKCXgxMXZuYy9tYWNvc3hDR1AuYywgeDExdm5jL21hY29zeENHUy5jLCB4MTF2bmMvbWFjb3N4Q0dTLmgsCgl4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zc2xoZWxwZXIuYywKCXgxMXZuYy91aW5wdXQuYywgeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMvdjRsLmMsCgl4MTF2bmMvd2luX3V0aWxzLmMsIHgxMXZuYy94ZXZlbnRzLmMsIHgxMXZuYy94d3JhcHBlcnMuYzogbW9yZQoJY29tcGlsZXIgd2FybmluZ3MgY2xlYW51cC4KCjIwMDYtMTItMjggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy84dG8yNC5jLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY29ubmVjdGlvbnMuYywKCXgxMXZuYy9jdXJzb3IuYywgeDExdm5jL2d1aS5jLCB4MTF2bmMva2V5Ym9hcmQuYywgeDExdm5jL21hY29zeC5jLAoJeDExdm5jL21hY29zeENHLmMsIHgxMXZuYy9wb2ludGVyLmMsIHgxMXZuYy9zY2FuLmMsCgl4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zb2xpZC5jLCB4MTF2bmMvdXNlci5jLCB4MTF2bmMvdXNlcmlucHV0LmMsCgl4MTF2bmMvdXNlcmlucHV0LmgsIHgxMXZuYy93aW5fdXRpbHMuYywgeDExdm5jL3h3cmFwcGVycy5jLAoJeDExdm5jL3h3cmFwcGVycy5oOiB4MTF2bmM6IGNsZWFuIHVwIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwNi0xMi0yOCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2NsZWFudXAuYywKCXgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvY3Vyc29yLmMsIHgxMXZuYy9jdXJzb3IuaCwKCXgxMXZuYy9oZWxwLmMsIHgxMXZuYy9rZXlib2FyZC5jLCB4MTF2bmMvbWFjb3N4LmMsIHgxMXZuYy9tYWNvc3guaCwKCXgxMXZuYy9tYWNvc3hDR1MuYywgeDExdm5jL21hY29zeENHUy5oLCB4MTF2bmMvb3B0aW9ucy5jLAoJeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3BvaW50ZXIuYywgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2Nhbi5jLAoJeDExdm5jL3NjYW4uaCwgeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLAoJeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMvdXNlcmlucHV0LmgsIHgxMXZuYy93aW5hdHRyX3QuaCwKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYywKCXgxMXZuYy94ZXZlbnRzLmMsIHgxMXZuYy94cmVjb3JkLmMsIHgxMXZuYy94d3JhcHBlcnMuYywKCXgxMXZuYy94d3JhcHBlcnMuaDogeDExdm5jOiBtb3JlIHdvcmsgb24gLW5jYWNoZS4KCjIwMDYtMTItMTcgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9vcHRpb25zLmMsCgl4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY3JlZW4uYywKCXgxMXZuYy91bml4cHcuYywgeDExdm5jL3VuaXhwdy5oLCB4MTF2bmMvdXNlcmlucHV0LmMsCgl4MTF2bmMvdXNlcmlucHV0LmgsIHgxMXZuYy93aW5hdHRyX3QuaCwgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsIHgxMXZuYy94MTF2bmNfZGVmcy5jLAoJeDExdm5jL3hldmVudHMuYywgeDExdm5jL3hpbmVyYW1hLmM6IHgxMXZuYzogZmlyc3QgcGFzcyBhdAoJY2xpZW50LXNpZGUgY2FjaGluZywgLW5jYWNoZSBvcHRpb24uCgoyMDA2LTEyLTE3ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvb3B0aW9ucy5jLAoJeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hpbmVyYW1hLmM6IHgxMXZuYzogbWFrZSAteHdhcnBwb2ludGVyCgl0aGUgZGVmYXVsdCBpZiB4aW5lcmFtYSBpcyBhY3RpdmUuCgoyMDA2LTEyLTE2ICBydW5nZSA8cnVuZ2U+CgoJKiByZmIvcmZicHJvdG8uaDogTW92ZSBvdXIgcmZiRW5jb2RpbmdzIG51bWJlcnMgb3V0IG9mIHRoZSBUaWdodFZOQwoJcmFuZ2UuCgoyMDA2LTEyLTE1ICBydW5nZSA8cnVuZ2U+CgoJKiBsaWJ2bmNzZXJ2ZXIvYXV0aC5jOiBmaXggdHlwby4KCjIwMDYtMTItMTMgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZzogUmVtb3ZlIHN0cmF5ICItcGVybWl0ZmlsZXRyYW5zZmVyICBwZXJtaXQgZmlsZSB0cmFuc2ZlcgoJc3VwcG9ydCIgb3V0cHV0CgoyMDA2LTEyLTEzICBydW5nZSA8cnVuZ2U+CgoJKiBsaWJ2bmNzZXJ2ZXIvY2FyZ3MuYzogUmVtb3ZlIHN0cmF5ICIiLXBlcm1pdGZpbGV0cmFuc2ZlciAgICBwZXJtaXQKCWZpbGUgdHJhbnNmZXIgc3VwcG9ydCIgb3V0cHV0LgoKMjAwNi0xMi0xMSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL21hY29zeENHLmMsIHgxMXZuYy9tYWNvc3hDR1MuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogY2xlYW51cCBzb21lCgljb21tZW50cy4KCjIwMDYtMTItMTAgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3Nzdm5jX2NtZDogc3luYyBldHYgMS4wLjgKCjIwMDYtMTItMTAgIHJ1bmdlIDxydW5nZT4KCgkqIGNsYXNzZXMvc3NsL3RpZ2h0dm5jLTEuM2RldjdfamF2YXNyYy12bmN2aWV3ZXItc3NsLnBhdGNoLAoJeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2NsZWFudXAuYywKCXgxMXZuYy9jbGVhbnVwLmgsIHgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvZ3VpLmMsCgl4MTF2bmMvaGVscC5jLCB4MTF2bmMvbWlzYy9NYWtlZmlsZS5hbSwgeDExdm5jL3BvaW50ZXIuYywKCXgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3NjcmVlbi5oLCB4MTF2bmMvc29saWQuYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy91c2VyLmMsIHgxMXZuYy92NGwuYywKCXgxMXZuYy93aW5fdXRpbHMuYywgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBGSU5EQ1JFQVRFRElTUExBWSBzdXBwb3J0IHRvIGNyZWF0ZSBYCglzZXNzaW9uIGlmIG9uZSBjYW5ub3QgYmUgZm91bmQuICBGaXggYnVnIGluIGphdmEgdmlld2VyLgoKMjAwNi0xMS0yNCAgcnVuZ2UgPHJ1bmdlPgoKCSogcHJlcGFyZV94MTF2bmNfZGlzdC5zaCwgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy9oZWxwLmMsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3VzZXIuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogaW5zdGFsbCBzc192bmN2aWV3ZXIgNzU1LAoJLXByb2cgb3B0aW9uLCBIVFRQT05DRSBuZXcgc29ja2V0IGZvciAtaW5ldGQuCgoyMDA2LTExLTIzICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC9NYWtlZmlsZS5hbSwgY2xhc3Nlcy9zc2wvUkVBRE1FOiByZW5hbWUgdG8KCXNzX3ZuY3ZpZXdlcgoKMjAwNi0xMS0yMyAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvc3Nfdm5jdmlld2VyLCBjbGFzc2VzL3NzbC9zc2xfdm5jdmlld2VyOiByZW5hbWUKCXNzbF92bmN2aWV3ZXIgdG8gc3Nfdm5jdmlld2VyCgoyMDA2LTExLTIzICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC9zc192bmN2aWV3ZXI6IHJlbmFtZSBzc2xfdm5jdmlld2VyIHRvIHNzX3ZuY3ZpZXdlcgoKMjAwNi0xMS0yMiAgcnVuZ2UgPHJ1bmdlPgoKCSogY29uZmlndXJlLmFjOiB1c2UgQUNfQ0hFQ0tfTElCIGZvciBmYnBtIGFuZCBkcG1zCgoyMDA2LTExLTIxICBydW5nZSA8cnVuZ2U+CgoJKiBjb25maWd1cmUuYWM6IGVuYWJsZSAtLXdpdGhvdXQtZmJwbSBhbmQgLS13aXRob3V0LWRwbXMKCjIwMDYtMTEtMjEgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY29uZmlndXJlLmFjLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2NsZWFudXAuYywgeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9jdXJzb3IuYywKCXgxMXZuYy9oZWxwLmMsIHgxMXZuYy9rZXlib2FyZC5jLCB4MTF2bmMvbWFjb3N4LmMsIHgxMXZuYy9tYWNvc3guaCwKCXgxMXZuYy9tYWNvc3hDRy5jLCB4MTF2bmMvbWFjb3N4Q0dTLmMsIHgxMXZuYy9tYWNvc3hDR1MuaCwKCXgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9wbS5jLCB4MTF2bmMvcG9pbnRlci5jLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy91bml4cHcuYywKCXgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3dpbl91dGlscy5jLCB4MTF2bmMvd2luX3V0aWxzLmgsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuYy5oLAoJeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZGFtYWdlLmMsIHgxMXZuYy94ZXZlbnRzLmMsCgl4MTF2bmMveHdyYXBwZXJzLmM6IHgxMXZuYzogTWFjIE9TIFggZmIgZml4ZXMgYW5kIGN1dHRleHQsIC1ub2RwbXMKCW9wdGlvbiwgbG9jYWwgdXNlciB3aXJlZnJhbWluZwoKMjAwNi0xMS0yMSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL1JFQURNRS50eHQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2Nvbm5lY3RfYnIudGNsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuYywKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3N2bmNfY21kLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3NzX3ZuY3ZpZXdlciwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc3ZuYy50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYnVpbGQudW5peCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9maWxlbGlzdC50eHQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2J1bmRsZSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvemlwcy9SRUFETUU6IHVwZGF0ZSB0bwoJMS4wLjggYW5kIHJlbmFtaW5nCgoyMDA2LTExLTIxICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3NzbF90aWdodHZuY3ZpZXdlciwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3NsX3ZuY19ndWksCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3RpZ2h0dm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3NzbF90aWdodHZuY3ZpZXdlci50YwoJbCwgeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3NzbF92bmN2aWV3ZXI6IAoJZGVsZXRlCgoyMDA2LTExLTIxICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3Nzdm5jLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc3ZuY19jbWQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3Nfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi91dGlsL3Nzdm5jLnRjbDogcmVuYW1lCgoyMDA2LTExLTEzICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYywgcHJlcGFyZV94MTF2bmNfZGlzdC5zaCwgeDExdm5jLzh0bzI0LmMsCgl4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvTWFrZWZpbGUuYW0sIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMvY2xlYW51cC5jLCB4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2N1cnNvci5jLAoJeDExdm5jL2N1cnNvci5oLCB4MTF2bmMvZ3VpLmMsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9rZXlib2FyZC5jLAoJeDExdm5jL2xpbnV4ZmIuYywgeDExdm5jL21hY29zeC5jLCB4MTF2bmMvbWFjb3N4LmgsCgl4MTF2bmMvbWFjb3N4Q0cuYywgeDExdm5jL21hY29zeENHLmgsIHgxMXZuYy9tYWNvc3hDR1AuYywKCXgxMXZuYy9tYWNvc3hDR1AuaCwgeDExdm5jL21hY29zeENHUy5jLCB4MTF2bmMvbWFjb3N4Q0dTLmgsCgl4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcGFyYW1zLmgsCgl4MTF2bmMvcG9pbnRlci5jLCB4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY3JlZW4uYywKCXgxMXZuYy9zZWxlY3Rpb24uYywgeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwKCXgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3dpbl91dGlscy5jLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmMsCgl4MTF2bmMveGRhbWFnZS5jLCB4MTF2bmMveGRhbWFnZS5oLCB4MTF2bmMveGV2ZW50cy5jLAoJeDExdm5jL3hpbmVyYW1hLmMsIHgxMXZuYy94cmFuZHIuYywgeDExdm5jL3hyZWNvcmQuYywKCXgxMXZuYy94d3JhcHBlcnMuYywgeDExdm5jL3h3cmFwcGVycy5oOiB4MTF2bmM6IE5hdGl2ZSBNYWMgT1MgWAoJc3VwcG9ydC4KCjIwMDYtMTEtMDggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL0Rhcndpbi5Qb3dlci5NYWNpbnRvc2gvLmNwCglvdmVyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9EYXJ3aW4uUG93ZXIuTWFjaW50b3NoL3ZuYwoJdmlld2VyLnNoLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9EYXJ3aW4uaTM4Ni8uY3BvdmVyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc2xfdGlnaHR2bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3NzbF92bmNfZ3VpLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi90aWdodHZuY3ZpZXdlciwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc2xfdGlnaHR2bmN2aWV3ZXIudGMKCWwsIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc2xfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2J1aWxkLnVuaXgsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2J1bmRsZTogQWRkIERhcndpbgoJc3R1ZmYuICBTeW5jIHRvIGN1cnJlbnQgMS4wLjcKCjIwMDYtMTEtMDggIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY2xhc3Nlcy9zc2wvc3NsX3ZuY3ZpZXdlciwgY29uZmlndXJlLmFjLAoJcHJlcGFyZV94MTF2bmNfZGlzdC5zaCwgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuY19kZWZzLmM6IGNvbmZpZ3VyZS5hYyAtUiBhbmQgbWFjb3N4LAoJcHJlcGFyZV94MTF2bmNfZGlzdC5zaCBycG0gZml4CgoyMDA2LTEwLTMwICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IEFkZCB0aXAgYWJvdXQgaG93IHRvCglyZWVuYWJsZSBSRUNPUkQgZXh0ZW5zaW9uLgoKMjAwNi0xMC0xMiAgZHNjaG8gPGRzY2hvPgoKCSogVmlzdWFsTmFDcm8vbmFjcm8uYywgVmlzdWFsTmFDcm8vbmFjcm8uaDogVmlzdWFsTmFDcm86IGFkZAoJc2VuZGFzY2lpCgoyMDA2LTEwLTEyICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY3Vyc29yLmMsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcmVtb3RlLmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuYy5oLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogLWN1cnNvcl9kcmFnIGZvciBEbkQsIGV0Yy4KCjIwMDYtMTAtMTEgIHJ1bmdlIDxydW5nZT4KCgkqIGxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvcmZidGlnaHRzZXJ2ZXIuYzogTl9FTkNfQ0FQUwoJY2hlY2sgZG9lcyBub3Qgd29yayBpZiBsaWJ6IGlzIG5vdCBwcmVzZW50LgoKMjAwNi0xMC0xMCAgZHNjaG8gPGRzY2hvPgoKCSogVmlzdWFsTmFDcm8vQ2hhbmdlTG9nLCBWaXN1YWxOYUNyby9yZWNvcmRlci5wbDogVmlzdWFsTmFDcm86IGFkZAoJJ2knLCAnYycgYW5kICdyJyBtZW51IGtleXMKCjIwMDYtMTAtMTAgIGRzY2hvIDxkc2Nobz4KCgkqIFZpc3VhbE5hQ3JvL0NoYW5nZUxvZywgVmlzdWFsTmFDcm8vcmVjb3JkZXIucGw6IFZpc3VhbE5hQ3JvOiBhZGQKCS0tY29tcGFjdCBhbmQgLS1jb21wYWN0LWRyYWdnaW5nCgoyMDA2LTEwLTA3ICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC9zc2xfdm5jdmlld2VyLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvY29ubmVjdF9ici50Y2wsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2luZm8vc3R1bm5lbC9sb2NhCgl0aW9uLnVybCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc2xfdGlnaHR2bmN2aWV3ZXIudGMKCWwsIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc2xfdm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL19idW5kbGUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3ppcHMvUkVBRE1FLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jX2RlZnMuYzogQ2hhbmdlcyBmb3IgRVRWLCBkb3VibGUKCVNTTC9TU0guCgoyMDA2LTA5LTI0ICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLXNzbC5wYXRjaCwKCXgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9wb2ludGVyLmMsCgl4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy91bml4cHcuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBpbXByb3ZlIFNTTCBKYXZhCgl2aWV3ZXIsIGNsZWFudXAgLXVuaXhwdyBjb2RlLgoKMjAwNi0wOS0yMSAgcnVuZ2UgPHJ1bmdlPgoKCSoKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc2xfdGlnaHR2bmN2aWV3ZXIudGMKCWwsIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc2xfdm5jdmlld2VyOiBzeW5jCglldHYuIHByb2ZpbGUgY2xlYW51cAoKMjAwNi0wOS0yMSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2Nvbm5lY3Rpb25zLmMsCgl4MTF2bmMvY29ubmVjdGlvbnMuaCwgeDExdm5jL2hlbHAuYywgeDExdm5jL29wdGlvbnMuYywKCXgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3VuaXhwdy5jLAoJeDExdm5jL3VuaXhwdy5oLCB4MTF2bmMvdXNlci5jLCB4MTF2bmMvdXNlci5oLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzoKCS11bml4cHdfY21kLCAtcGFzc3dmaWxlIGNtZDovY3VzdG9tOiwgLXNzbG5vZmFpbCwgLXVsdHJhZmlsZXhmZXIKCjIwMDYtMDktMTggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3NsX3RpZ2h0dm5jdmlld2VyLnRjCglsOiBFVFYgcmVsZWFzZSAxLjAuNAoKMjAwNi0wOS0xOCAgcnVuZ2UgPHJ1bmdlPgoKCSoKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zc2xfdGlnaHR2bmN2aWV3ZXIudGMKCWwsIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9fYnVuZGxlOiBzeW5jCglFVFYgMS4wLjQKCjIwMDYtMDktMTggIHJ1bmdlIDxydW5nZT4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgeDExdm5jL1JFQURNRSwgeDExdm5jL3gxMXZuYy5jOiB4MTF2bmM6CglpbXByb3ZlIHVsdHJhdm5jIGZpbGV4ZmVyIHJhdGUgYnkgY2FsbGluZyByZmJDaGVja0ZEIG1vcmUgb2Z0ZW4KCjIwMDYtMDktMTcgIHJ1bmdlIDxydW5nZT4KCgkqCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3NsX3RpZ2h0dm5jdmlld2VyLnRjCglsOiBTeW5jIEVUVi4KCjIwMDYtMDktMTcgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2N1cnNvci5jLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMva2V5Ym9hcmQuYywKCXgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9wbS5jLCB4MTF2bmMvc2Nhbi5jLAoJeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc3NsY21kcy5jLCB4MTF2bmMvc3NsaGVscGVyLmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuY19kZWZzLmMsCgl4MTF2bmMveGluZXJhbWEuYywgeDExdm5jL3h3cmFwcGVycy5jOiB4MTF2bmM6IC12ZXJib3NlLAoJLWNvbm5lY3Rfb3JfZXhpdCwgLXJmYnBvcnQgMCwgcHJpbnQgb3V0IFNTTCBjZXJ0LgoKMjAwNi0wOS0xNSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmM6IAoJc21hbGwgdHdlYWtzLCAtc2lnIGFsaWFzLgoKMjAwNi0wOS0xNSAgcnVuZ2UgPHJ1bmdlPgoKCSogbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2NsZWFudXAuYywgeDExdm5jL2hlbHAuYywgeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvdW5peHB3LmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IGNsZWFyIERJU1BMQVkgZm9yCgktdW5peHB3IHN1X3ZlcmlmeSwgdXNlciBzdXBwbGllZCBzaWcgaWdub3JlLgoKMjAwNi0wOS0xNCAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvc3NsX3ZuY3ZpZXdlciwgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy9oZWxwLmMsIHgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9DT1BZSU5HLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1JFQURNRSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL1JFQURNRS50eHQsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2luZm8vZXNvdW5kL2Rvd25sCglvYWQudXJsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1dpbmRvd3MvdXRpbC9pbmZvL29wZW5zc2wvZG93bgoJbG9hZC51cmwsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2luZm8vb3BlbnNzbC9sb2NhCgl0aW9uLnVybCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvaW5mby9wbGluay9kb3dubG8KCWFkLnVybCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvaW5mby9wbGluay9saWNlbmMKCWUudXJsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1dpbmRvd3MvdXRpbC9pbmZvL3N0dW5uZWwvZG93bgoJbG9hZC51cmwsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2luZm8vc3R1bm5lbC9sb2NhCgl0aW9uLnVybCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvaW5mby92bmN2aWV3ZXIvZG8KCXdubG9hZC51cmwsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL2luZm8vdm5jdmlld2VyL2xvCgljYXRpb24udXJsLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL1dpbmRvd3MvdXRpbC9zdHVubmVsLWNsaWVudC5jbwoJbmYsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvV2luZG93cy91dGlsL3N0dW5uZWwtc2VydmVyLmNvCgluZiwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9XaW5kb3dzL3V0aWwvdzk4L2xvY2F0aW9uLnVybCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vc3NsX3RpZ2h0dm5jdmlld2VyLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2Jpbi9zc2xfdm5jX2d1aSwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdGlnaHR2bmN2aWV3ZXIsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3NsX3RpZ2h0dm5jdmlld2VyLnRjCglsLCB4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvYmluL3V0aWwvc3NsX3ZuY3ZpZXdlciwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9iaW4vdXRpbC9zdHVubmVsLXNlcnZlci5jb25mLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL2J1aWxkLnVuaXgsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvZmlsZWxpc3QudHh0LAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9SRUFETUUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvUkVBRE1FLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL19idW5kbGUsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX2dldHBhdGNoZXMsCgl4MTF2bmMvbWlzYy9lbmhhbmNlZF90aWdodHZuY192aWV3ZXIvc3JjL3BhdGNoZXMvX3ZuY3BhdGNoYXBwbGllZCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy9zdHVubmVsLW1heGNvbm4ucGEKCXRjaCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvcGF0Y2hlcy90aWdodC12bmN2aWV3ZXItZnUKCWxsc2NyZWVuLnBhdGNoLAoJeDExdm5jL21pc2MvZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyL3NyYy9wYXRjaGVzL3RpZ2h0LXZuY3ZpZXdlci1uZQoJd2Zic2l6ZS5wYXRjaCwKCXgxMXZuYy9taXNjL2VuaGFuY2VkX3RpZ2h0dm5jX3ZpZXdlci9zcmMvemlwcy9SRUFETUUsCgl4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy91dGlsLmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOgoJZW5oYW5jZWRfdGlnaHR2bmNfdmlld2VyIGZpbGVzLCBzc2ggLXQga2V5c3Ryb2tlIHJlc3BvbnNlCglpbXByb3ZlbWVudC4KCjIwMDYtMDktMTIgIGRzY2hvIDxkc2Nobz4KCgkqIFZpc3VhbE5hQ3JvL01ha2VmaWxlLmFtLCBsaWJ2bmNzZXJ2ZXItY29uZmlnLmluOiBmaXggaW4tcGxhY2UKCWNvbXBpbGF0aW9uIG9mIFZpc3VhbE5hQ3JvCgoyMDA2LTA5LTEyICBkc2NobyA8ZHNjaG8+CgoJKiBWaXN1YWxOYUNyby9yZWNvcmRlci5wbDogZml4IGNhbGwgdG8gYWxlcnQoKQoKMjAwNi0wOS0xMiAgZHNjaG8gPGRzY2hvPgoKCSogVmlzdWFsTmFDcm8vTkVXUywgVmlzdWFsTmFDcm8vbmFjcm8uYywgVmlzdWFsTmFDcm8vbmFjcm8uaCwKCVZpc3VhbE5hQ3JvL3JlY29yZGVyLnBsOiBWaXN1YWxOYUNybzogYWRkIG1hZ2ljIGtleSAnZCcgdG8gZGlzcGxheQoJdGhlIGN1cnJlbnQgcmVmZXJlbmNlIGltYWdlCgoyMDA2LTA5LTEyICBkc2NobyA8ZHNjaG8+CgoJKiBWaXN1YWxOYUNyby9uYWNyby5oOiBmb3Jnb3QgdG8gY2hlY2sgaW4gbmFjcm8uaAoKMjAwNi0wOS0xMiAgZHNjaG8gPGRzY2hvPgoKCSogVmlzdWFsTmFDcm8vbmFjcm8uYywgVmlzdWFsTmFDcm8vcmVjb3JkZXIucGw6IGltcGxlbWVudCBydWJiZXJiYW5kCglmb3IgcmVjdGFuZ3VsYXIgc2VsZWN0aW9uCgoyMDA2LTA5LTEyICBkc2NobyA8ZHNjaG8+CgoJKiBWaXN1YWxOYUNyby9NYWtlZmlsZS5hbSwgVmlzdWFsTmFDcm8vY29uZmlndXJlLmFjOiBmaXggY29tcGlsYXRpb24KCXdpdGggY3lnd2luCgoyMDA2LTA5LTEyICBkc2NobyA8ZHNjaG8+CgoJKiByZmIvcmZicHJvdG8uaCwgdm5jdGVybS9MaW51eFZOQy5jLCB2bmN0ZXJtL1ZOQ29uc29sZS5jOiBkbyBub3QKCWFsd2F5cyBpbmNsdWRlIHJmYi9rZXlzeW0uaAoKMjAwNi0wOS0xMiAgZHNjaG8gPGRzY2hvPgoKCSogQVVUSE9SUywgVmlzdWFsTmFDcm8vTkVXUywgVmlzdWFsTmFDcm8vbmFjcm8uYywKCVZpc3VhbE5hQ3JvL25hY3JvLmgsIFZpc3VhbE5hQ3JvL3JlY29yZGVyLnBsOiBWaXN1YWxOYUNybzogc3VwcG9ydAoJY2xpcGJvYXJkIGFuZCBzeW1ib2xpYyBrZXkgbmFtZXMgd2l0aCBYMTE6OktleXN5bXMKCjIwMDYtMDktMTIgIGRzY2hvIDxkc2Nobz4KCgkqIFZpc3VhbE5hQ3JvL25hY3JvLmMsIFZpc3VhbE5hQ3JvL25hY3JvLmg6IHN1cHBvcnQgY2xpcGJvYXJkCgoyMDA2LTA5LTExICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgcmZiL3JmYmNsaWVudC5oOiBtYWtlIGN1dCB0ZXh0IGhhbmRsaW5nCgl1c2luZyBhIGhvb2sKCjIwMDYtMDktMTAgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jdXJzb3IuYywgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9zc2x0b29scy5oLCB4MTF2bmMvdWlucHV0LmMsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogUkVRX0FSR1MsCglFVl9TWU4vU1lOX1JFUE9SVCBjaGVjay4gcmVzdG9yZSAtY3Vyc29yIG1vc3QgdW5kZXIgLWRpc3BsYXkgV0FJVAoKMjAwNi0wOS0wNSAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvcHJveHkudm5jLCBjbGFzc2VzL3NzbC9zc2xfdm5jdmlld2VyOiBVcGRhdGUKCXNzbF92bmN2aWV3ZXIuICBGaXggYnVnIGluIHByb3h5LnZuYyB3aXRoIG11bHRpcGxlIFBPUlQ9IHBhcmFtcy4KCjIwMDYtMDgtMTAgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9saW51eGZiLmMsCgl4MTF2bmMvdWlucHV0LmMsIHgxMXZuYy91aW5wdXQuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsCgl4MTF2bmMveDExdm5jLmgsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IGZpcnN0IHBhc3MgYXQKCXRvdWNoc2NyZWVucyB2aWEgdWlucHV0LgoKMjAwNi0wOC0wMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZzogYWRkIHRvIGNoYW5nZWxvZwoKMjAwNi0wOC0wMiAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvc3NsX3ZuY3ZpZXdlciwgeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9yZW1vdGUuYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOgoJdHdlYWtzIHRvIHNzbF94ZmVyOyAtc3NsdGltZW91dCBvcHRpb24uCgoyMDA2LTA3LTMxICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC9zc2xfdm5jdmlld2VyLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvcG9pbnRlci5jLAoJeDExdm5jL3NjYW4uYywgeDExdm5jL3NjYW4uaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jX2RlZnMuYzogCgl4MTF2bmM6IG1vcmUgZmVhdHVyZXMgdG8gc3NsX3ZuY3ZpZXdlciBmb3IgZW5oYW5jZWQgdGlnaHR2bmMgdmlld2VyCglwcm9qZWN0CgoyMDA2LTA3LTI5ICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC9zc2xfdm5jdmlld2VyOiBvbmUgbW9yZSB0d2Vhaywgc3RhcnQgZnJvbSBkaXNwIDMwCgoyMDA2LTA3LTI5ICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC9zc2xfdm5jdmlld2VyOiBhZGQgZGVidWcgPSA2IHRvIHN0dW5uZWwgY29uZmlnLgoKMjAwNi0wNy0yOCAgcnVuZ2UgPHJ1bmdlPgoKCSogY2xhc3Nlcy9zc2wvc3NsX3ZuY3ZpZXdlciwgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy9jdXJzb3IuYywgeDExdm5jL2hlbHAuYywgeDExdm5jL3BhcmFtcy5oLCB4MTF2bmMvcG9pbnRlci5jLAoJeDExdm5jL3JhdGVzLmMsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjYW4uYywgeDExdm5jL3NjcmVlbi5jLAoJeDExdm5jL3NjcmVlbi5oLCB4MTF2bmMvc29saWQuYywgeDExdm5jL3NzbGNtZHMuYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwKCXgxMXZuYy91bml4cHcuYywgeDExdm5jL3VzZXIuYywgeDExdm5jL3VzZXJpbnB1dC5jLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuaCwKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IC1yb3RhdGUgb3B0aW9uCgoyMDA2LTA3LTE4ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYywgeDExdm5jLzh0bzI0LmMsIHgxMXZuYy9DaGFuZ2VMb2csCgl4MTF2bmMvTWFrZWZpbGUuYW0sIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jbGVhbnVwLmMsCgl4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2N1cnNvci5jLCB4MTF2bmMvZ3VpLmMsCgl4MTF2bmMva2V5Ym9hcmQuYywgeDExdm5jL2xpbnV4ZmIuYywgeDExdm5jL25veDExLmgsCgl4MTF2bmMvbm94MTFfZnVuY3MuaCwgeDExdm5jL3BvaW50ZXIuYywgeDExdm5jL3JlbW90ZS5jLAoJeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc2VsZWN0aW9uLmMsIHgxMXZuYy9zb2xpZC5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvdWlucHV0LmMsIHgxMXZuYy91c2VyaW5wdXQuYywKCXgxMXZuYy91dGlsLmMsIHgxMXZuYy92NGwuYywgeDExdm5jL3dpbl91dGlscy5jLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmMsCgl4MTF2bmMveGV2ZW50cy5jLCB4MTF2bmMveHdyYXBwZXJzLmM6IHgxMXZuYzogZW5hYmxlIC0td2l0aG91dC14CglidWlsZHMgZm9yIC1yYXdmYiBvbmx5IGJpbmFyaWVzLgoKMjAwNi0wNy0xNSAgcnVuZ2UgPHJ1bmdlPgoKCSogY29uZmlndXJlLmFjLCBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL3VzZXIuYywgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogdXBkYXRlIHZlcnNpb25zIGZvciBuZXh0IHJlbC4gIGFkZCBzb21lIG1vcmUKCXNob3J0Y3V0cyB0byB1c2VyOm9wdHMKCjIwMDYtMDctMTIgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY29uZmlndXJlLmFjOiBMaWJWTkNTZXJ2ZXIgMC44LjIgcmVsZWFzZS4KCjIwMDYtMDctMTIgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9SRUFETUUsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5oLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6IHNldCBSRUw4eAoKMjAwNi0wNy0xMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL2tleWJvYXJkLmMsCgl4MTF2bmMvbGludXhmYi5jLCB4MTF2bmMvcGFyYW1zLmgsIHgxMXZuYy9wb2ludGVyLmMsCgl4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy91c2VyLmMsIHgxMXZuYy94MTF2bmMuMTogeDExdm5jOiB3b3JkaW5nCgljaGFuZ2VzOyByZW1vdmUgIi1yYXdmYiBjb25zIiBpbiBmYXZvciBvZiAiY29uc29sZSIKCjIwMDYtMDctMTEgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMva2V5Ym9hcmQuYywgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VpbnB1dC5jLCB4MTF2bmMvdWlucHV0LmgsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuY19kZWZzLmM6IHgxMXZuYzogbW9yZQoJVUlOUFVUIG1vZGUgdHdlYWtzLgoKMjAwNi0wNy0xMCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc3NsY21kcy5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvdWlucHV0LmMsIHgxMXZuYy91bml4cHcuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiBpbXByb3ZlIHVpbnB1dCBoZXVyaXN0aWNzIHNvIGJ1dHRvbgoJY2xpY2tzIHdvcmsgb24gcXQtZW1iZWRkZWQuCgoyMDA2LTA3LTA5ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL01ha2VmaWxlLmFtLAoJeDExdm5jL1JFQURNRSwgeDExdm5jL2hlbHAuYywgeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9saW51eGZiLmMsCgl4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcGFyYW1zLmgsCgl4MTF2bmMvcG9pbnRlci5jLCB4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zY3JlZW4uYywKCXgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy91aW5wdXQuYywKCXgxMXZuYy91aW5wdXQuaCwgeDExdm5jL3V0aWwuYywgeDExdm5jL3Y0bC5jLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiB4MTF2bmM6IGFkZCB1aW5wdXQgc3VwcG9ydAoJZm9yIGZ1bGwgaW5wdXQgaW50byBsaW51eCBmYiBkZXZpY2UgKGUuZy4gcXQtZW1iZWQpLgoKMjAwNi0wNy0wNSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL2tleWJvYXJkLmM6IHgxMXZuYzogd2hvb3BzIHN0ciBkZWNsIGluIHdyb25nCglwbGFjZSBmb3Igb2xkIGNvbXBpbGVycy4KCjIwMDYtMDctMDQgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9rZXlib2FyZC5jLCB4MTF2bmMvcG9pbnRlci5jLAoJeDExdm5jL3h3cmFwcGVycy5jOiB4MTF2bmM6IGNoZWNrIGFsbCBYS2V5c3ltVG9TdHJpbmcoKSByZXR1cm4KCXZhbHVlcy4KCjIwMDYtMDctMDQgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9rZXlib2FyZC5jLCB4MTF2bmMvdW5peHB3LmMsCgl4MTF2bmMvdW5peHB3Lmg6IHgxMXZuYzogcGx1ZyBhIGNvdXBsZSB1bml4cHcgZ2Fwcy4KCjIwMDYtMDctMDQgIHJ1bmdlIDxydW5nZT4KCgkqIGNvbmZpZ3VyZS5hYywgeDExdm5jL1JFQURNRSwgeDExdm5jL2luZXQuYywgeDExdm5jL2tleWJvYXJkLmMsCgl4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy91bml4cHcuYywgeDExdm5jL3VzZXIuYywgeDExdm5jL3V0aWwuYywKCXgxMXZuYy92NGwuYywgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmg6IHgxMXZuYzogcmVtb3ZlCgljb21waWxlciB3YXJuaW5nczsgSFAtVVggdHdlYWtzLgoKMjAwNi0wNy0wNCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2Nvbm5lY3Rpb25zLmgsIHgxMXZuYy9jdXJzb3IuYywKCXgxMXZuYy9jdXJzb3IuaCwgeDExdm5jL2hlbHAuYywgeDExdm5jL2hlbHAuaCwgeDExdm5jL2luZXQuYywKCXgxMXZuYy9wb2ludGVyLmMsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjYW4uYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3NzbGhlbHBlci5oLCB4MTF2bmMvdW5peHB3LmMsCgl4MTF2bmMvdW5peHB3LmgsIHgxMXZuYy91c2VyLmMsIHgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3V0aWwuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYywKCXgxMXZuYy94ZXZlbnRzLmM6IHgxMXZuYzogbW9yZSAtdW5peHB3IHdvcmsuICBhZGQgLWxpY2Vuc2UsIGV0Yy4KCW9wdGlvbnMKCjIwMDYtMDYtMjQgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jbGVhbnVwLmMsCgl4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2Nvbm5lY3Rpb25zLmgsIHgxMXZuYy9ndWkuYywKCXgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zb2xpZC5jLCB4MTF2bmMvc3NsY21kcy5jLCB4MTF2bmMvdW5peHB3LmMsCgl4MTF2bmMvdXNlci5jLCB4MTF2bmMvdXRpbC5jLCB4MTF2bmMvdjRsLmMsIHgxMXZuYy93aW5fdXRpbHMuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYywKCXgxMXZuYy94d3JhcHBlcnMuYzogeDExdm5jOiBtaXNjIGNsZWFudXAuCgoyMDA2LTA2LTE4ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvOHRvMjQuYywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy9jbGVhbnVwLmMsIHgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvY29ubmVjdGlvbnMuaCwKCXgxMXZuYy9jdXJzb3IuYywgeDExdm5jL2d1aS5jLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMva2V5Ym9hcmQuYywKCXgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9wbS5jLCB4MTF2bmMvcG9pbnRlci5jLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy9zb2xpZC5jLAoJeDExdm5jL3NzbGNtZHMuYywgeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvc3NsaGVscGVyLmgsCgl4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwKCXgxMXZuYy91bml4cHcuYywgeDExdm5jL3VuaXhwdy5oLCB4MTF2bmMvdXNlci5jLAoJeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMvdXRpbC5jLCB4MTF2bmMvdjRsLmMsCgl4MTF2bmMvd2luX3V0aWxzLmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hkYW1hZ2UuYywKCXgxMXZuYy94ZXZlbnRzLmMsIHgxMXZuYy94ZXZlbnRzLmgsIHgxMXZuYy94cmFuZHIuaCwKCXgxMXZuYy94d3JhcHBlcnMuYzogeDExdm5jOiAtLWdyYWJrYmQsIC1ncmFicHRyLCAtZW52LCAtYWxsb3dlZGNtZHMsCgl1bml4cHcrV0FJVCB1c2VyIGZyZWQ6b3B0aW9ucwoKMjAwNi0wNi0xNSAgZHNjaG8gPGRzY2hvPgoKCSogVmlzdWFsTmFDcm8vUkVBRE1FOiBmaXggdHlwbwoKMjAwNi0wNi0xNSAgZHNjaG8gPGRzY2hvPgoKCSogVmlzdWFsTmFDcm8vQ2hhbmdlTG9nLCBWaXN1YWxOYUNyby9ORVdTLCBWaXN1YWxOYUNyby9yZWNvcmRlci5wbDogCglubyBuZWVkIGZvciBUaW1lOjpIaVJlcyB0byBwbGF5IGJhY2sKCjIwMDYtMDYtMTUgIGRzY2hvIDxkc2Nobz4KCgkqIFZpc3VhbE5hQ3JvL3JlY29yZGVyLnBsOiBhZGQgdGltaW5nCgoyMDA2LTA2LTEzICBydW5nZSA8cnVuZ2U+CgoJKiBjbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLXNzbC5wYXRjaCwKCXgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9vcHRpb25zLmMsCgl4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zY3JlZW4uYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3NzbHRvb2xzLmgsIHgxMXZuYy91bml4cHcuYywKCXgxMXZuYy91bml4cHcuaCwgeDExdm5jL3VzZXIuYywgeDExdm5jL3V0aWwuYywgeDExdm5jL3V0aWwuaCwKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogeDExdm5jOiAtZGlzcGxheSBXQUlUOmNtZD1GSU5ERElTUExBWSwKCUhUVFBPTkNFLCAtaHR0cF9zc2wgb3B0aW9uLCBKYXZhIGZpeGVzLgoKMjAwNi0wNi0wOSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL3VuaXhwdy5jLCB4MTF2bmMvdXNlci5jOiAKCXgxMXZuYzogbWFrZSAtZGlzcGxheSBXQUlUICsgLXVuaXhwdyB3b3JrIG9uIFNvbGFyaXMuCgoyMDA2LTA2LTA4ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy9DaGFuZ2VMb2csCgl4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY2xlYW51cC5jLCB4MTF2bmMvY29ubmVjdGlvbnMuYywKCXgxMXZuYy9ndWkuYywgeDExdm5jL2hlbHAuYywgeDExdm5jL29wdGlvbnMuYywgeDExdm5jL3BvaW50ZXIuYywKCXgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc29saWQuYywgeDExdm5jL3NzbGNtZHMuYywKCXgxMXZuYy9zc2xoZWxwZXIuYywgeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwKCXgxMXZuYy91bml4cHcuYywgeDExdm5jL3VuaXhwdy5oLCB4MTF2bmMvdXNlci5jLCB4MTF2bmMvdXNlci5oLAoJeDExdm5jL3Y0bC5jLCB4MTF2bmMvd2luX3V0aWxzLmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hldmVudHMuYywKCXgxMXZuYy94a2JfYmVsbC5jLCB4MTF2bmMveHJlY29yZC5jLCB4MTF2bmMveHdyYXBwZXJzLmMsCgl4MTF2bmMveHdyYXBwZXJzLmg6ICAgeDExdm5jOiAtZGlzcGxheSBXQUlUOi4uLiwgLXVzZXJzIHVuaXhwdz0sIHN1X3ZlcmlmeSBkcHkgY29tbWFuZC4KCjIwMDYtMDYtMDUgIHN0ZXZlbl9jYXJyIDxzdGV2ZW5fY2Fycj4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNzZXJ2ZXIvYXV0aC5jLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBSRkIgMy44IGNsaWVudHMgYXJlIHdlbGwgaW5mb3JtZWQKCjIwMDYtMDYtMDUgIHN0ZXZlbl9jYXJyIDxzdGV2ZW5fY2Fycj4KCgkqIGxpYnZuY3NlcnZlci9hdXRoLmM6IEJldHRlciBzdXBwb3J0IGZvciBSRkIgPj0gMy44IHByb3RvY29scwoKMjAwNi0wNi0wNSAgc3RldmVuX2NhcnIgPHN0ZXZlbl9jYXJyPgoKCSogbGlidm5jc2VydmVyL2F1dGguYzogQWxsIHNlY3VyaXR5IHR5cGVzIGZvciBSRkIgPj0gMy43ICpoYXZlKiB0bwoJcmVzcG9uZCB3aXRoIGEgU2VjdXJpdHkgUmVzdWx0IChFdmVuIHJmYlNlY1R5cGVOb25lKQoKMjAwNi0wNi0wMyAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2NsZWFudXAuYywKCXgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMva2V5Ym9hcmQuYywKCXgxMXZuYy9saW51eGZiLmMsIHgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsCgl4MTF2bmMvcmF0ZXMuYywgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2NyZWVuLmMsCgl4MTF2bmMvc2NyZWVuLmgsIHgxMXZuYy9zc2xjbWRzLmMsIHgxMXZuYy9zc2xoZWxwZXIuYywKCXgxMXZuYy9zc2xoZWxwZXIuaCwgeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwKCXgxMXZuYy91bml4cHcuYywgeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMvd2luX3V0aWxzLmMsCgl4MTF2bmMvd2luX3V0aWxzLmgsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hldmVudHMuYywKCXgxMXZuYy94ZXZlbnRzLmgsIHgxMXZuYy94d3JhcHBlcnMuYzogIHgxMXZuYzogLWNhcHNsb2NrIC1za2lwX2xvY2trZXlzOyBBbHQga2V5cyB1bmRlciAtcmF3ZmIgY29ucy4KCjIwMDYtMDYtMDMgIHJ1bmdlIDxydW5nZT4KCgkqIGxpYnZuY3NlcnZlci9hdXRoLmM6IG1vdmUgYWxsIHR5cGVzIGludG8gaGFuZGxlciBsb29wLgoKMjAwNi0wNS0yOSAgc3RldmVuX2NhcnIgPHN0ZXZlbl9jYXJyPgoKCSogQ2hhbmdlTG9nOiBJZGVudGlmaWVkIGFuZCByZW1vdmVkIHNvbWUgbWVtb3J5IGxlYWtzIGFzc29jaWF0ZWQKCXdpdGggdGhlIEVuY29kaW5ncyBSUkUsIENvUlJFLCBaTElCLCBhbmQgVWx0cmEuICBLZXlib2FyZExlZFN0YXRlCglub3cgaGFzIHBvcnRhYmxlIG1hc2tzIGRlZmluZWQuICByZmIgPj0gMy43IFNlY3VyaXR5IFR5cGUgSGFuZGxlcgoJbGlzdCB3b3VsZCBncm93IDEgZW50cnkgZm9yIGVhY2ggbmV3IGNsaWVudCBjb25uZWN0aW9uLgoKMjAwNi0wNS0yOSAgc3RldmVuX2NhcnIgPHN0ZXZlbl9jYXJyPgoKCSogbGlidm5jc2VydmVyL2F1dGguYzogU2VjdXJpdHkgVHlwZSBtZW1vcnkgbGVhayBwbHVnZ2VkLiAgTGVha3MKCXdoZW4gcmZiID49IDMuNyBjbGllbnRzIGNvbm5lY3RzLiAgVGhlIHNlY3VyaXR5IGxpc3Qgd291bGQgZ3JvdyAxCgllbnRyeSB3aGVuIGNsaWVudHMgY29ubmVjdC4KCjIwMDYtMDUtMjggIHN0ZXZlbl9jYXJyIDxzdGV2ZW5fY2Fycj4KCgkqIHJmYi9yZmJwcm90by5oOiBLZXlib2FyZExlZFN0YXRlIEVuY29kaW5nIE1hc2tzIGFyZSBub3cgZGVmaW5lZAoJZm9yIHBvcnRhYmlsaXR5CgoyMDA2LTA1LTI4ICBzdGV2ZW5fY2FyciA8c3RldmVuX2NhcnI+CgoJKiBsaWJ2bmNzZXJ2ZXIvY29ycmUuYywgbGlidm5jc2VydmVyL21haW4uYywKCWxpYnZuY3NlcnZlci9wcml2YXRlLmgsIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywKCWxpYnZuY3NlcnZlci9ycmUuYywgbGlidm5jc2VydmVyL3VsdHJhLmMsIGxpYnZuY3NlcnZlci96bGliLmM6IAoJUGx1Z2dlZCBzb21lIG1lbW9yeSBsZWFrYWdlCgoyMDA2LTA1LTE2ICBzdGV2ZW5fY2FyciA8c3RldmVuX2NhcnI+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIHJmYi9yZmIuaDogUGVybWl0IGF1dGguYyB0byB0ZXN0IG1ham9yCgl2ZXJzaW9uCgoyMDA2LTA1LTE2ICBzdGV2ZW5fY2FyciA8c3RldmVuX2NhcnI+CgoJKiBsaWJ2bmNzZXJ2ZXIvYXV0aC5jOiBTcGVjaWZpY2FsbHkgdGVzdCBmb3IgTWFqb3IgVmVyc2lvbiAzIGFkZGVkCgoyMDA2LTA1LTE2ICBzdGV2ZW5fY2FyciA8c3RldmVuX2NhcnI+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci9zdGF0cy5jOiBTdGF0aXN0aWNzIG5vdyBmaXQgaW50byA4MC1jb2x1bW4KCW91dHB1dAoKMjAwNi0wNS0xNiAgc3RldmVuX2NhcnIgPHN0ZXZlbl9jYXJyPgoKCSogbGlidm5jc2VydmVyL3N0YXRzLmM6IFN0YXRpc3RpY3Mgb3V0cHV0IG5vdyBmaXRzIGluIDgwLWNvbHVtbgoJb3V0cHV0CgoyMDA2LTA1LTE2ICBzdGV2ZW5fY2FyciA8c3RldmVuX2NhcnI+CgoJKiBsaWJ2bmNzZXJ2ZXIvY3Vyc29yLmM6IENvcnJlY3RlZCBDdXJzb3IgU3RhdGlzdGljcyByZXBvcnRpbmcgYXMKCW1lc3NhZ2VzCgoyMDA2LTA1LTE1ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL01ha2VmaWxlLmFtOiByZW1vdmUgdW5uZWVkZWQKCWZpbGUKCjIwMDYtMDUtMTUgIHN0ZXZlbl9jYXJyIDxzdGV2ZW5fY2Fycj4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgcmZiL3JmYi5oOiBTdXBwb3J0IHNlbmRpbmcgVGV4dENoYXQKCW1lc3NhZ2VzIGJhY2sgdG8gdGhlIGNsaWVudAoKMjAwNi0wNS0xNSAgc3RldmVuX2NhcnIgPHN0ZXZlbl9jYXJyPgoKCSogQ2hhbmdlTG9nLCBsaWJ2bmNzZXJ2ZXIvY2FyZ3MuYywgbGlidm5jc2VydmVyL21haW4uYywKCWxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgcmZiL3JmYi5oLCByZmIvcmZicHJvdG8uaDogRGVmYXVsdCB0byBSRkIKCTMuOCwgYWRkIGNvbW1hbmQgbGluZSBvcHRpb24gdG8gc3BlY2lmeSB0aGUgUkZCIHZlcnNpb24uCgoyMDA2LTA1LTE1ICBzdGV2ZW5fY2FyciA8c3RldmVuX2NhcnI+CgoJKiBDaGFuZ2VMb2csIGNsaWVudF9leGFtcGxlcy9TREx2bmN2aWV3ZXIuYywKCWxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvdWx0cmEuYywgbGlidm5jY2xpZW50L3pybGUuYywKCWxpYnZuY3NlcnZlci9hdXRoLmMsIGxpYnZuY3NlcnZlci9jb3JyZS5jLCBsaWJ2bmNzZXJ2ZXIvY3Vyc29yLmMsCglsaWJ2bmNzZXJ2ZXIvaGV4dGlsZS5jLCBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCBsaWJ2bmNzZXJ2ZXIvcnJlLmMsIGxpYnZuY3NlcnZlci9zY2FsZS5jLAoJbGlidm5jc2VydmVyL3NvY2tldHMuYywgbGlidm5jc2VydmVyL3N0YXRzLmMsIGxpYnZuY3NlcnZlci90aWdodC5jLAoJbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9yZmJ0aWdodHByb3RvLmgsCglsaWJ2bmNzZXJ2ZXIvdWx0cmEuYywgbGlidm5jc2VydmVyL3psaWIuYywgbGlidm5jc2VydmVyL3pybGUuYywKCXJmYi9yZmIuaCwgcmZiL3JmYmNsaWVudC5oLCByZmIvcmZicHJvdG8uaCwgeDExdm5jL3JhdGVzLmMsCgl4MTF2bmMvdXNlcmlucHV0LmM6IFRoZSBncmVhdCBVbHRyYVZOQyBDb21wYXRpYmlsaXR5IENvbW1pdAoKMjAwNi0wNS0xMyAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBsaWJ2bmNjbGllbnQvTWFrZWZpbGUuYW0sIGxpYnZuY2NsaWVudC9sem9jb25mLmgsCglsaWJ2bmNjbGllbnQvbWluaWx6by5jLCBsaWJ2bmNjbGllbnQvbWluaWx6by5oLAoJbGlidm5jc2VydmVyL2x6b2NvbmYuaCwgbGlidm5jc2VydmVyL21pbmlsem8uYywKCWxpYnZuY3NlcnZlci9taW5pbHpvLmgsIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywKCWxpYnZuY3NlcnZlci9zY2FsZS5jLCB2bmN0ZXJtL01ha2VmaWxlLmFtOiAgZml4IHNvbWUgYnVpbGQgaXNzdWVzIFdSVCB1bHRyYXZuYyBjb2RlLgoKMjAwNi0wNS0wNyAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIHgxMXZuYy84dG8yNC5jLCB4MTF2bmMvQ2hhbmdlTG9nLAoJeDExdm5jL01ha2VmaWxlLmFtLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY29ubmVjdGlvbnMuYywKCXgxMXZuYy9jdXJzb3IuYywgeDExdm5jL2d1aS5jLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMva2V5Ym9hcmQuYywKCXgxMXZuYy9saW51eGZiLmMsIHgxMXZuYy9saW51eGZiLmgsIHgxMXZuYy9vcHRpb25zLmMsCgl4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcGFyYW1zLmgsIHgxMXZuYy9wbS5jLCB4MTF2bmMvcG9pbnRlci5jLAoJeDExdm5jL3JhdGVzLmMsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjYW4uYywgeDExdm5jL3NjcmVlbi5jLAoJeDExdm5jL3NjcmVlbi5oLCB4MTF2bmMvc2VsZWN0aW9uLmMsIHgxMXZuYy9zb2xpZC5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLAoJeDExdm5jL3VuaXhwdy5jLCB4MTF2bmMvdXNlci5jLCB4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy92NGwuYywKCXgxMXZuYy92NGwuaCwgeDExdm5jL3dpbl91dGlscy5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmMuaCwgeDExdm5jL3gxMXZuY19kZWZzLmMsIHgxMXZuYy94ZGFtYWdlLmMsCgl4MTF2bmMveGV2ZW50cy5jLCB4MTF2bmMveGluZXJhbWEuYywgeDExdm5jL3hrYl9iZWxsLmMsCgl4MTF2bmMveHJhbmRyLmMsIHgxMXZuYy94cmVjb3JkLmMsIHgxMXZuYy94d3JhcHBlcnMuYywKCXgxMXZuYy94d3JhcHBlcnMuaDogIHgxMXZuYzogc3VwcG9ydCBmb3IgdmlkZW80bGludXggd2ViY2FtcyAmIHR2LXR1bmVycywgLTI0dG8zMiBicHAKCSBvcHRpb24sIC1yYXdmYiBjb25zb2xlLgoKMjAwNi0wNS0wNCAgc3RldmVuX2NhcnIgPHN0ZXZlbl9jYXJyPgoKCSogQ2hhbmdlTG9nLCBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLAoJcmZiL3JmYi5oLCByZmIvcmZicHJvdG8uaCwgeDExdm5jL3NjcmVlbi5jOiBTZXJ2ZXIgQ2FwYWJpbGl0eQoJRW5jb2RpbmdzIHJmYkVuY29kaW5nU3VwcG9ydGVkRW5jb2RpbmdzIC0gV2hhdCBlbmNvZGluZ3MgYXJlCglzdXBwb3J0ZWQ/IHJmYkVuY29kaW5nU3VwcG9ydGVkTWVzc2FnZXMgIC0gV2hhdCBtZXNzYWdlIHR5cGVzIGFyZQoJc3VwcG9ydGVkPyByZmJFbmNvZGluZ1NlcnZlcklkZW50aXR5ICAgICAtIFdoYXQgaXMgdGhlIHNlcnZlcnMKCXZlcnNpb24gc3RyaW5nPyBpZTogIngxMXZuYzogMC44LjEgbGFzdG1vZDogMjAwNi0wNC0yNSAoTGliVk5DU2VydmVyCgkwLjlwcmUpIgoKMjAwNi0wNS0wNCAgc3RldmVuX2NhcnIgPHN0ZXZlbl9jYXJyPgoKCSogbGlidm5jY2xpZW50L3JmYnByb3RvLmM6IFVsdHJhVk5DIHdpdGggc2NhbGluZywgd2lsbCBzZW5kCglyZWN0YW5nbGVzIHdpdGggYSB6ZXJvIFcgb3IgSCBXZSBuZWVkIHRvIHByb2Nlc3MgdGhlIHJlY3RhbmdsZQoJKGVzcGVjaWFsbHkgaWYgaXQgYSB0eXBlIHRoYXQgY29udGFpbnMgc3VicmVjdGFuZ2xlcyBvciBhbnkga2luZCBvZgoJY29tcHJlc3Npb24pLiAgIFVsdHJhVk5DIHNob3VsZCBiZSBmaXhlZCB0byBwcmV2ZW50IHRoZXNlIHVzZWxlc3MKCXJlY3RhbmdsZXMgZnJvbSBiZWluZyBzZW50LgoKMjAwNi0wNS0wNCAgc3RldmVuX2NhcnIgPHN0ZXZlbl9jYXJyPgoKCSogbGlidm5jY2xpZW50L3JmYnByb3RvLmMsIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywKCXJmYi9yZmJjbGllbnQuaDogQ2xpZW50IHNpZGUgc3VwcG9ydCBmb3IgUGFsbVZOQy9VbHRyYVZOQyAnU2VydmVyCglTaWRlIFNjYWxpbmcnCgoyMDA2LTA1LTA0ICBzdGV2ZW5fY2FyciA8c3RldmVuX2NhcnI+CgoJKiByZmIvcmZicHJvdG8uaDogS2V5Ym9hcmRMZWRTdGF0ZSBzaG91bGQgYmUgcGxhY2VkIGluICd2YXJpb3VzCglwcm90b2NvbCBleHRlbnNpb25zJwoKMjAwNi0wNS0wMyAgc3RldmVuX2NhcnIgPHN0ZXZlbl9jYXJyPgoKCSogQ2hhbmdlTG9nLCBsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW0sIGxpYnZuY3NlcnZlci9jb3JyZS5jLAoJbGlidm5jc2VydmVyL2N1cnNvci5jLCBsaWJ2bmNzZXJ2ZXIvaGV4dGlsZS5jLCBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCBsaWJ2bmNzZXJ2ZXIvcnJlLmMsIGxpYnZuY3NlcnZlci9zY2FsZS5jLAoJbGlidm5jc2VydmVyL3NjYWxlLmgsIGxpYnZuY3NlcnZlci9zdGF0cy5jLCBsaWJ2bmNzZXJ2ZXIvdGlnaHQuYywKCWxpYnZuY3NlcnZlci91bHRyYS5jLCBsaWJ2bmNzZXJ2ZXIvemxpYi5jLCBsaWJ2bmNzZXJ2ZXIvenJsZS5jLAoJcmZiL3JmYi5oOiBDbGllbnQgSW5kZXBlbmRlbnQgU2VydmVyIFNpZGUgU2NhbGluZyBpcyBub3cgc3VwcG9ydGVkCglCb3RoIFBhbG1WTkMgYW5kIFVsdHJhVk5DIFNldFNjYWxlIG1lc3NhZ2VzIGFyZSBzdXBwb3J0ZWQKCjIwMDYtMDUtMDIgIHN0ZXZlbl9jYXJyIDxzdGV2ZW5fY2Fycj4KCgkqIENoYW5nZUxvZywgbGlidm5jY2xpZW50L01ha2VmaWxlLmFtLCBsaWJ2bmNjbGllbnQvbHpvY29uZi5oLAoJbGlidm5jY2xpZW50L21pbmlsem8uYywgbGlidm5jY2xpZW50L21pbmlsem8uaCwKCWxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvdWx0cmEuYywKCWxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywgbGlidm5jc2VydmVyL01ha2VmaWxlLmFtLAoJbGlidm5jc2VydmVyL2x6b2NvbmYuaCwgbGlidm5jc2VydmVyL21pbmlsem8uYywKCWxpYnZuY3NlcnZlci9taW5pbHpvLmgsIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywKCWxpYnZuY3NlcnZlci91bHRyYS5jLCByZmIvcmZiLmgsIHJmYi9yZmJjbGllbnQuaDogVWx0cmEgRW5jb2RpbmcKCWFkZGVkLiAgIFRlc3RlZCBhZ2FpbnN0IFVsdHJhVk5DIFYxLjAxCgoyMDA2LTA1LTAyICBzdGV2ZW5fY2FyciA8c3RldmVuX2NhcnI+CgoJKiBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYzogQ29weVJlY3RhbmdsZSgpIEJQUCE9OCBidWcgZml4ZWQKCjIwMDYtMDUtMDIgIHN0ZXZlbl9jYXJyIDxzdGV2ZW5fY2Fycj4KCgkqIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYzogRWxpbWluYXRlIGluY29tcGF0aWJsZSBwb2ludGVyCglhc3NpZ25tZW50IHdhcm5pbmcgKGdjYyA0LjAuMSkKCjIwMDYtMDUtMDIgIHN0ZXZlbl9jYXJyIDxzdGV2ZW5fY2Fycj4KCgkqIGxpYnZuY2NsaWVudC9oZXh0aWxlLmMsIGxpYnZuY2NsaWVudC90aWdodC5jLCBsaWJ2bmNjbGllbnQvemxpYi5jOiAKCXNpZ25lZCB2cyB1bnNpZ25lZCB3YXJuaW5ncyBlbGltaW5hdGVkIChnY2MgNC4wLjEpCgoyMDA2LTA0LTMwICBkc2NobyA8ZHNjaG8+CgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbTogaW5jbHVkZSByb3RhdGV0ZW1wbGF0ZS5jIGluIHRoZSB0YXJiYWxsCgoyMDA2LTA0LTI4ICBkc2NobyA8ZHNjaG8+CgoJKiBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmMsIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLAoJcmZiL3JmYmNsaWVudC5oOiBsaWJ2bmNjbGllbnQ6IHN1cHBvcnQgY2hhbmdpbmcgb2YgZnJhbWVidWZmZXIgc2l6ZTsKCW1ha2UgU0RMdm5jdmlld2VyIHVzZSBpdAoKMjAwNi0wNC0yOCAgZHNjaG8gPGRzY2hvPgoKCSogY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBmaXggU0RMdm5jdmlld2VyIGZvciB3aWR0aHMgd2hpY2gKCWFyZSBub3QgZGl2aXNpYmxlIGJ5IDgKCjIwMDYtMDQtMjcgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgZXhhbXBsZXMvLmN2c2lnbm9yZSwgZXhhbXBsZXMvTWFrZWZpbGUuYW0sCglleGFtcGxlcy9wbm1zaG93LmMsIGV4YW1wbGVzL3JvdGF0ZS5jLCBleGFtcGxlcy9yb3RhdGV0ZW1wbGF0ZS5jOiAKCWFkZCByb3RhdGUgYW5kIGZsaXAgZXhhbXBsZQoKMjAwNi0wNC0yNyAgZHNjaG8gPGRzY2hvPgoKCSogZXhhbXBsZXMvY2FtZXJhLmM6IG1hbGxvYy5oIHNob3VsZCBub3QgYmUgbmVlZGVkIChpdCBpcyBtaXNzaW5nIG9uCglxdWl0ZSBhIGZldyBwbGF0Zm9ybXMpCgoyMDA2LTA0LTI2ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNsYXNzZXMvc3NsL3NzbF92bmN2aWV3ZXIsCgljbGllbnRfZXhhbXBsZXMvTWFrZWZpbGUuYW0sIGNvbmZpZ3VyZS5hYywgY29udHJpYi9NYWtlZmlsZS5hbSwKCWV4YW1wbGVzL01ha2VmaWxlLmFtLCBsaWJ2bmNjbGllbnQvTWFrZWZpbGUuYW0sCglsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW0sCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL01ha2VmaWxlLmFtLCB0ZXN0L01ha2VmaWxlLmFtLAoJeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL01ha2VmaWxlLmFtLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuaCwKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiAgTWFrZSBWUEFUSCBidWlsZGluZyB3b3JrIHdpdGggLUkgJCh0b3Bfc3JjZGlyKSBmb3IgcmZiL3JmYi5oCgoyMDA2LTA0LTE3ICBzdGV2ZW5fY2FyciA8c3RldmVuX2NhcnI+CgoJKiBDaGFuZ2VMb2csIGV4YW1wbGVzL01ha2VmaWxlLmFtLCBleGFtcGxlcy9jYW1lcmEuYzogQWRkZWQgYW4KCWV4YW1wbGUgY2FtZXJhIGFwcGxpY2F0aW9uIHRvIGRlbW9uc3RyYXRlIGFub3RoZXIgd2F5IHRvIHdyaXRlIGEKCXNlcnZlciBhcHBsaWNhdGlvbi4KCjIwMDYtMDQtMTYgIHJ1bmdlIDxydW5nZT4KCgkqIGNsYXNzZXMvc3NsL3NzbF92bmN2aWV3ZXIsCgljbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLXNzbC5wYXRjaCwKCXgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jbGVhbnVwLmMsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMvc3NsY21kcy5jLCB4MTF2bmMvc3NsaGVscGVyLmMsIHgxMXZuYy9zc2x0b29scy5oLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiAgQXBhY2hlIFNTTCBnYXRld2F5LiBNb3JlIHdlYiBwcm94eSBjYXNlcyBmb3IgSmF2YSBhbmQKCSBzc2xfdm5jdmlld2VyLgoKMjAwNi0wNC0wNSAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjbGFzc2VzL3NzbC9NYWtlZmlsZS5hbSwgY2xhc3Nlcy9zc2wvUkVBRE1FLAoJY2xhc3Nlcy9zc2wvcHJveHkudm5jLCBjbGFzc2VzL3NzbC9zc2xfdm5jdmlld2VyLAoJY2xhc3Nlcy9zc2wvdGlnaHR2bmMtMS4zZGV2N19qYXZhc3JjLXZuY3ZpZXdlci1zc2wucGF0Y2gsCgljb25maWd1cmUuYWMsIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy9DaGFuZ2VMb2csCgl4MTF2bmMvTWFrZWZpbGUuYW0sIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jbGVhbnVwLmMsCgl4MTF2bmMvY2xlYW51cC5oLCB4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9wbS5jLCB4MTF2bmMvcG0uaCwKCXgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjYW4uYywgeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc3NsY21kcy5jLAoJeDExdm5jL3NzbGNtZHMuaCwgeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvc3NsaGVscGVyLmgsCgl4MTF2bmMvc3NsdG9vbHMuaCwgeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogIFNTTCBKYXZhIHZpZXdlciB3b3JrIHRocnUgcHJveHkuICAtc3NsR2VuQ0EsIGV0YyBrZXkvY2VydAoJIG1hbmFnZW1lbnQgdXRpbHMgZm9yIHgxMXZuYy4gIEZCUE0gInN1cHBvcnQiLgoKMjAwNi0wMy0yOCAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmMsCglsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jLAoJbGlidm5jc2VydmVyL21haW4uYywgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCByZmIvcmZiLmgsCglyZmIvcmZiY2xpZW50LmgsIHJmYi9yZmJwcm90by5oOiBhZGQgS2V5Ym9hcmRMZWRTdGF0ZSBleHRlbnNpb24KCjIwMDYtMDMtMjggIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY2xhc3Nlcy9NYWtlZmlsZS5hbSwgY2xhc3Nlcy9zc2wvTWFrZWZpbGUuYW0sCgljbGFzc2VzL3NzbC9pbmRleC52bmMsCgljbGFzc2VzL3NzbC90aWdodHZuYy0xLjNkZXY3X2phdmFzcmMtdm5jdmlld2VyLWN1cnNvci1jb2xvcnMrbm8tdGFiCgktdHJhdmVyc2FsLnBhdGNoLAoJY2xhc3Nlcy9zc2wvdGlnaHR2bmMtMS4zZGV2N19qYXZhc3JjLXZuY3ZpZXdlci1zc2wucGF0Y2gsCgljb25maWd1cmUuYWMsIGxpYnZuY3NlcnZlci9odHRwZC5jLCBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLAoJeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL2NsZWFudXAuYywKCXgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvY29ubmVjdGlvbnMuaCwgeDExdm5jL2N1cnNvci5jLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9vcHRpb25zLmMsCgl4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcG9pbnRlci5jLCB4MTF2bmMvcmF0ZXMuYywKCXgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc3NsY21kcy5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvc3NsaGVscGVyLmgsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYywKCXgxMXZuYy94d3JhcHBlcnMuYzogIFNTTCBwYXRjaCBmb3IgSmF2YSB2aWV3ZXIuICBodHRwcyBzdXBwb3J0IGZvciB4MTF2bmMuCgoyMDA2LTAzLTI3ICBkc2NobyA8ZHNjaG8+CgoJKiBBVVRIT1JTLCBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogaWdub3JlCgltYXhSZWN0c1BlclVwZGF0ZSB3aGVuIGVuY29kaW5nIGlzIFpsaWIgKHRoYW5rcyBzY2FycikKCjIwMDYtMDMtMjcgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYzogbGlidm5jY2xpZW50OiB0YWtlIC1jb21wcmVzcyA8bGV2ZWw+IGFuZAoJLXF1YWxpdHkgPGxldmVsPiBjb21tYW5kIGxpbmUgYXJndW1lbnRzCgoyMDA2LTAzLTEyICBydW5nZSA8cnVuZ2U+CgoJKiBjb25maWd1cmUuYWMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9NYWtlZmlsZS5hbSwKCXgxMXZuYy9SRUFETUUsIHgxMXZuYy9jbGVhbnVwLmMsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2d1aS5jLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvbWlzYy9YZHVtbXksIHgxMXZuYy9vcHRpb25zLmMsCgl4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY3JlZW4uYywKCXgxMXZuYy9zY3JlZW4uaCwgeDExdm5jL3NlbGVjdGlvbi5jLCB4MTF2bmMvc3NsY21kcy5jLAoJeDExdm5jL3NzbGhlbHBlci5jLCB4MTF2bmMvc3NsaGVscGVyLmgsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYywKCXgxMXZuYy94ZXZlbnRzLmM6ICB4MTF2bmM6IGFkZCAtc3NsIG1vZGUgdXNpbmcgbGlic3NsLiAgSW5jbHVkZSBYZHVtbXkgaW4gbWlzYy4KCjIwMDYtMDMtMDggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3JlbW90ZS5jLAoJeDExdm5jL3NjcmVlbi5jLCB4MTF2bmMvc2VsZWN0aW9uLmMsIHgxMXZuYy9zZWxlY3Rpb24uaCwKCXgxMXZuYy9zc2xjbWRzLmMsIHgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsCgl4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hldmVudHMuYywgeDExdm5jL3hldmVudHMuaDogIHgxMXZuYzogZG8gQ0xJUEJPQVJELCByZXZlcnNlIGNvbm4gcmVxdWlyZSBwYXNzd2RzLCAtdXNlcHcsCgkgLWRlYnVnX3NlbCwgLXN0b3JlcGFzc3dkIGhvbWVkaXIuCgoyMDA2LTAzLTA2ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvY29ubmVjdGlvbnMuYywKCXgxMXZuYy9jb25uZWN0aW9ucy5oLCB4MTF2bmMvZ3VpLmMsIHgxMXZuYy9ndWkuaCwgeDExdm5jL2hlbHAuYywKCXgxMXZuYy9wYXJhbXMuaCwgeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc3NsY21kcy5jLAoJeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VuaXhwdy5jLAoJeDExdm5jL3VuaXhwdy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywKCXgxMXZuYy94MTF2bmNfZGVmcy5jLCB4MTF2bmMveGV2ZW50cy5jLCB4MTF2bmMveGV2ZW50cy5oOiAgeDExdm5jOiBndWkgc3BlZWR1cCBhbmQgZml4ZXMuIC11bml4cHcgYW5kIC1pbmV0ZAoKMjAwNi0wMy0wNSAgcnVuZ2UgPHJ1bmdlPgoKCSogY29uZmlndXJlLmFjLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9ndWkuYywgeDExdm5jL2hlbHAuYywgeDExdm5jL2luZXQuYywKCXgxMXZuYy9vcHRpb25zLmMsIHgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9yZW1vdGUuYywKCXgxMXZuYy9zc2xjbWRzLmMsIHgxMXZuYy9zc2xjbWRzLmgsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdW5peHB3LmMsIHgxMXZuYy91bml4cHcuaCwKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYzogIHgxMXZuYzogLXVuaXhwdyBvbiAqYnNkLCBocHV4IGFuZCB0cnU2NC4gLXVuaXhwd19uaXMgbW9kZS4gc3R1bm5lbAoJIGFuZCBndWkgdHdlYWtzLgoKMjAwNi0wMy0wMyAgcnVuZ2UgPHJ1bmdlPgoKCSogY29uZmlndXJlLmFjLCB4MTF2bmMvOHRvMjQuYywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvaW5ldC5jLCB4MTF2bmMvaW5ldC5oLAoJeDExdm5jL2tleWJvYXJkLmMsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3RreDExdm5jLAoJeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy91bml4cHcuYywgeDExdm5jL3VuaXhwdy5oLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmMuaCwKCXgxMXZuYy94MTF2bmNfZGVmcy5jOiAgeDExdm5jOiBtb3JlIC11bml4cHcgbW9kZS4gLWdvbmUgcG9wdXAgbW9kZS4gQ2hhbmdlIGZpbGV4ZmVyIHZpYQoJIC1SLiBUdW5lIFNNQUxMX0ZPT1RQUklOVC4KCjIwMDYtMDMtMDEgIGRzY2hvIDxkc2Nobz4KCgkqIGV4YW1wbGVzL01ha2VmaWxlLmFtLCBleGFtcGxlcy9ibG9vcHRlc3QuYywgZXhhbXBsZXMvZXhhbXBsZS5jOiAKCUZpeCBibG9vcHRlc3QgZXhhbXBsZQoKMjAwNi0wMy0wMSAgZHNjaG8gPGRzY2hvPgoKCSogcmZiL2tleXN5bS5oOiBkbyBub3QgYXNzdW1lIHRoYXQgS0VZU1lNX0ggZ3VhcmRzIFgxMSdzIGtleXN5bS5oCgoyMDA2LTAzLTAxICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXIvbWFpbi5jOiBkbyBub3QgdGltZW91dCBvbiBpZGxlIGNsaWVudCBpbnB1dCAod2l0aAoJcHRocmVhZHMpCgoyMDA2LTAzLTAxICBkc2NobyA8ZHNjaG8+CgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbTogaWYgY29tcGlsaW5nIHdpdGggcHRocmVhZHMsIGFsc28gY29tcGlsZQoJYmxvb3B0ZXN0CgoyMDA2LTAyLTI4ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jOiByZmJDaGVja0ZkcyBub3cgcmV0dXJucyB0aGUgbnVtYmVyIG9mCglwcm9jZXNzZWQgZXZlbnRzCgoyMDA2LTAyLTI4ICBkc2NobyA8ZHNjaG8+CgoJKiBBVVRIT1JTLCBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci9tYWluLmMsIGxpYnZuY3NlcnZlci9zb2NrZXRzLmMsCglyZmIvcmZiLmg6IGFkZCBoYW5kbGVFdmVudHNFYWdlcmx5IGZsYWcgKFRoYW5rcywgRG9uYWxkKQoKMjAwNi0wMi0yNSAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9NYWtlZmlsZS5hbSwKCXgxMXZuYy9SRUFETUUsIHgxMXZuYy9hbGxvd2VkX2lucHV0X3QuaCwgeDExdm5jL2NsZWFudXAuYywKCXgxMXZuYy9jb25uZWN0aW9ucy5jLCB4MTF2bmMvY3Vyc29yLmMsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMvaW5ldC5jLCB4MTF2bmMvaW5ldC5oLCB4MTF2bmMva2V5Ym9hcmQuYywgeDExdm5jL2tleWJvYXJkLmgsCgl4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLCB4MTF2bmMvcG9pbnRlci5jLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2NyZWVuLmMsCgl4MTF2bmMvc2VsZWN0aW9uLmMsIHgxMXZuYy9zc2xjbWRzLmMsIHgxMXZuYy9zc2xjbWRzLmgsCgl4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdW5peHB3LmMsCgl4MTF2bmMvdW5peHB3LmgsIHgxMXZuYy91c2VyLmMsIHgxMXZuYy91c2VyaW5wdXQuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jLmgsCgl4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hkYW1hZ2UuYywgeDExdm5jL3hldmVudHMuYywKCXgxMXZuYy94cmVjb3JkLmM6ICB4MTF2bmM6IC11bml4cHcgYW5kIC1zdHVubmVsLiAgQWRkIGNsaXBib2FyZCB0byBpbnB1dCBjb250cm9sLgoKMjAwNi0wMi0yNCAgcm9oaXRfOTkxMjkgPHJvaGl0Xzk5MTI5PgoKCSogbGlidm5jc2VydmVyL21haW4uYywgcmZiL3JmYi5oOiBBZGRlZCBtZXRob2QgdG8gZ2V0IGV4dGVuc2lvbgoJc3BlY2lmaWMgY2xpZW50IGRhdGEKCjIwMDYtMDItMjQgIHJvaGl0Xzk5MTI5IDxyb2hpdF85OTEyOT4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyL21haW4uYywKCWxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvcmZidGlnaHRzZXJ2ZXIuYywgcmZiL3JmYi5oOiAKCUFkZGVkIG1ldGhvZCB0byBnZXQgZXh0ZW5zaW9uIHNwZWNpZmljIGNsaWVudCBkYXRhCgoyMDA2LTAyLTIyICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci9hdXRoLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL3JmYnRpZ2h0c2VydmVyLmMsIHJmYi9yZmIuaDogYWRkCglmdW5jdGlvbnMgdG8gdW5yZWdpc3RlciBleHRlbnNpb25zL3NlY3VyaXR5IHR5cGVzCgoyMDA2LTAyLTIxICBkc2NobyA8ZHNjaG8+CgoJKiBjb25maWd1cmUuYWMsIHgxMXZuYy9NYWtlZmlsZS5hbTogSVJJWCBsaW5rZXIgaXMgdmVyeSBwaWNreSBhYm91dAoJb3JkZXIgb2YgbGlicmFyaWVzCgoyMDA2LTAyLTIwICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYywgbGlidm5jc2VydmVyL2N1cnNvci5jLAoJbGlidm5jc2VydmVyL21haW4uYywKCWxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvZmlsZWxpc3RpbmZvLmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL2ZpbGV0cmFuc2Zlcm1zZy5jLAoJbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9oYW5kbGVmaWxldHJhbnNmZXJyZXF1ZXN0LmMsCglwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2Nvbm5lY3Rpb25zLmMsIHgxMXZuYy9pbmV0LmMsIHgxMXZuYy91c2VyLmMsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmNfZGVmcy5jLCB4MTF2bmMveGV2ZW50cy5jOiAgZml4IHNvbWUgbm9uLWdjYyBjb21waWxlciB3YXJuaW5ncyBhbmQgc2lnbmFscyBpbiB4MTF2bmMKCjIwMDYtMDItMDcgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuaDogeDExdm5jOiBmaXggQUlYIGJ1aWxkIHdydCBoX2Vycm5vLgoKMjAwNi0wMi0wNiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jLzh0bzI0LmMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9oZWxwLmMsCgl4MTF2bmMvd2luX3V0aWxzLmMsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuY19kZWZzLmM6ICB4MTF2bmM6IC04dG8yNCBtb3JlIHNwZWVkdXBzOyB0dW5hYmxlcyBmb3IgdmVyeSBzbG93IG1hY2hpbmVzLgoKMjAwNi0wMi0wNSAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jLzh0bzI0LmMsIHgxMXZuYy84dG8yNC5oLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3BhcmFtcy5oLAoJeDExdm5jL3JhdGVzLmMsIHgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY2FuLmgsIHgxMXZuYy91c2VyaW5wdXQuYywKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYywKCXgxMXZuYy94aW5lcmFtYS5jOiAgeDExdm5jOiAtOHRvMjQgc3BlZWR1cHMgYW5kIGltcHJvdmVtZW50cy4KCjIwMDYtMDEtMjIgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy84dG8yNC5jLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL29wdGlvbnMuYywgeDExdm5jL29wdGlvbnMuaCwgeDExdm5jL3BvaW50ZXIuYywKCXgxMXZuYy9yYXRlcy5jLCB4MTF2bmMvcmVtb3RlLmMsIHgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3RreDExdm5jLAoJeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy93aW5fdXRpbHMuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYzogIHgxMXZuYzogLTh0bzI0IG9wdHMsIHVzZSBYR2V0U3ViSW1hZ2UuIGZpeCAtdGhyZWFkcyBkZWFkbG9ja3MgYW5kCgkgLXJhd2ZiIGNyYXNoCgoyMDA2LTAxLTE5ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvOHRvMjQuYywgeDExdm5jLzh0bzI0LmgsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMvY3Vyc29yLmMsIHgxMXZuYy9oZWxwLmMsIHgxMXZuYy9yZW1vdGUuYywgeDExdm5jL3NjYW4uYywKCXgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3VzZXJpbnB1dC5jLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmMsIHgxMXZuYy94MTF2bmNfZGVmcy5jOiAgeDExdm5jOiAtOHRvMjQgbm93IHdvcmtzIG9uIGRlZmF1bHQgZGVwdGggOCBkaXNwbGF5cy4KCjIwMDYtMDEtMTYgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy84dG8yNC5jLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvaGVscC5jLAoJeDExdm5jL3V0aWwuYywgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jX2RlZnMuYzogIHgxMXZuYzogbW9yZSB0d2Vha3MgdG8gLTh0bzI0IFhHRVRJTUFHRV84VE8yNAoKMjAwNi0wMS0xNSAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCB4MTF2bmMvOHRvMjQuYywgeDExdm5jLzh0bzI0LmgsIHgxMXZuYy9DaGFuZ2VMb2csCgl4MTF2bmMvTWFrZWZpbGUuYW0sIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jb25uZWN0aW9ucy5jLAoJeDExdm5jL2N1cnNvci5jLCB4MTF2bmMvaGVscC5jLCB4MTF2bmMvb3B0aW9ucy5jLCB4MTF2bmMvb3B0aW9ucy5oLAoJeDExdm5jL3JlbW90ZS5jLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2NyZWVuLmMsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy91dGlsLmMsCgl4MTF2bmMvdXRpbC5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYywgeDExdm5jL3gxMXZuYy5oLAoJeDExdm5jL3gxMXZuY19kZWZzLmM6ICB4MTF2bmM6IGFkZCAtOHRvMjQgb3B0aW9uIGZvciBzb21lIG11bHRpLWRlcHRoIGRpc3BsYXlzLgoKMjAwNi0wMS0xMiAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLmg6IGNvbmZpZ3VyZS5hYzoKCWFkZCBzd2l0Y2hlcyBmb3IgbW9zdCBYIGV4dGVuc2lvbnMuCgoyMDA2LTAxLTExICBydW5nZSA8cnVuZ2U+CgoJKiBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLCBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jX2RlZnMuYzogbG9nTXV0ZXggbmVlZHMgdG8gYmUKCWluaXRpYWxpemVkIHRvbzsgaW4gcmZiRGVmYXVsdExvZy4KCjIwMDYtMDEtMTEgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9jbGVhbnVwLmMsCgl4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2N1cnNvci5jLCB4MTF2bmMva2V5Ym9hcmQuYywKCXgxMXZuYy9wb2ludGVyLmMsIHgxMXZuYy9zY2FuLmMsIHgxMXZuYy9zY3JlZW4uYywgeDExdm5jL3NvbGlkLmMsCgl4MTF2bmMvdXNlcmlucHV0LmMsIHgxMXZuYy93aW5fdXRpbHMuYywgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jLCB4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hkYW1hZ2UuYywKCXgxMXZuYy94cmVjb3JkLmM6ICB4MTF2bmM6IGNsb3NlIGZkID4gMiBpbiBydW5fdXNlcl9jb21tYW5kKCksIC1ub2NtZHMgaW4gY3Jhc2hfZGVidWcsCgkgZml4IDY0Yml0IGJ1ZyBmb3IgLXNvbGlkLgoKMjAwNi0wMS0xMCAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLCBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmM6IAoJcmZiUHJvY2Vzc0V2ZW50cygpIGhhcyB0byBpdGVyYXRlIGFsc28gb3ZlciBjbGllbnRzIHdpdGggc29jayA8IDAgdG8KCWNsb3NlIHRoZW0KCjIwMDYtMDEtMDkgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgZXhhbXBsZXMvcG5tc2hvdzI0LmMsIHgxMXZuYy9DaGFuZ2VMb2csCgl4MTF2bmMvTWFrZWZpbGUuYW0sIHgxMXZuYy9SRUFETUUsIHgxMXZuYy9hbGxvd2VkX2lucHV0X3QuaCwKCXgxMXZuYy9ibGFja291dF90LmgsIHgxMXZuYy9jbGVhbnVwLmMsIHgxMXZuYy9jbGVhbnVwLmgsCgl4MTF2bmMvY29ubmVjdGlvbnMuYywgeDExdm5jL2Nvbm5lY3Rpb25zLmgsIHgxMXZuYy9jdXJzb3IuYywKCXgxMXZuYy9jdXJzb3IuaCwgeDExdm5jL2VudW1zLmgsIHgxMXZuYy9ndWkuYywgeDExdm5jL2d1aS5oLAoJeDExdm5jL2hlbHAuYywgeDExdm5jL2hlbHAuaCwgeDExdm5jL2luZXQuYywgeDExdm5jL2luZXQuaCwKCXgxMXZuYy9rZXlib2FyZC5jLCB4MTF2bmMva2V5Ym9hcmQuaCwgeDExdm5jL29wdGlvbnMuYywKCXgxMXZuYy9vcHRpb25zLmgsIHgxMXZuYy9wYXJhbXMuaCwgeDExdm5jL3BvaW50ZXIuYywKCXgxMXZuYy9wb2ludGVyLmgsIHgxMXZuYy9yYXRlcy5jLCB4MTF2bmMvcmF0ZXMuaCwgeDExdm5jL3JlbW90ZS5jLAoJeDExdm5jL3JlbW90ZS5oLCB4MTF2bmMvc2Nhbi5jLCB4MTF2bmMvc2Nhbi5oLCB4MTF2bmMvc2NyZWVuLmMsCgl4MTF2bmMvc2NyZWVuLmgsIHgxMXZuYy9zY3JvbGxldmVudF90LmgsIHgxMXZuYy9zZWxlY3Rpb24uYywKCXgxMXZuYy9zZWxlY3Rpb24uaCwgeDExdm5jL3NvbGlkLmMsIHgxMXZuYy9zb2xpZC5oLAoJeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3VzZXIuYywgeDExdm5jL3VzZXIuaCwKCXgxMXZuYy91c2VyaW5wdXQuYywgeDExdm5jL3VzZXJpbnB1dC5oLCB4MTF2bmMvdXRpbC5jLAoJeDExdm5jL3V0aWwuaCwgeDExdm5jL3dpbl91dGlscy5jLCB4MTF2bmMvd2luX3V0aWxzLmgsCgl4MTF2bmMvd2luYXR0cl90LmgsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jLAoJeDExdm5jL3gxMXZuYy5oLCB4MTF2bmMveDExdm5jX2RlZnMuYywgeDExdm5jL3hkYW1hZ2UuYywKCXgxMXZuYy94ZGFtYWdlLmgsIHgxMXZuYy94ZXZlbnRzLmMsIHgxMXZuYy94ZXZlbnRzLmgsCgl4MTF2bmMveGluZXJhbWEuYywgeDExdm5jL3hpbmVyYW1hLmgsIHgxMXZuYy94a2JfYmVsbC5jLAoJeDExdm5jL3hrYl9iZWxsLmgsIHgxMXZuYy94cmFuZHIuYywgeDExdm5jL3hyYW5kci5oLAoJeDExdm5jL3hyZWNvcmQuYywgeDExdm5jL3hyZWNvcmQuaCwgeDExdm5jL3h3cmFwcGVycy5jLAoJeDExdm5jL3h3cmFwcGVycy5oOiAgeDExdm5jOiB0aGUgYmlnIHNwbGl0LgoKMjAwNi0wMS0wOCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBleGFtcGxlcy9wbm1zaG93MjQuYywgbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jLAoJbGlidm5jc2VydmVyL21haW4uYzogIGZpeCBjbGllbnQgbm9uLWpwZWcvbGlieiBidWlsZHMKCjIwMDYtMDEtMDYgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyL21haW4uYzogIHJmYlJlZ2lzdGVyUHJvdG9jb2xFeHRlbnNpb24gZXh0TXV0ZXggd2FzIG5ldmVyIGluaXRpYWxpemVkLgoKMjAwNS0xMi0yNCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IGVuaGFuY2UgLXBhc3N3ZGZpbGUgZmVhdHVyZXMsIGZpbGV0cmFuc2ZlciBvbiBieSBkZWZhdWx0LgoKMjAwNS0xMi0yMiAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBtYWtlIGNvbXBpbGUgYWdhaW4gd2l0aCBwdGhyZWFkczsgZml4CglvZmYtYnktb25lIGVycm9yCgoyMDA1LTEyLTE5ICBkc2NobyA8ZHNjaG8+CgoJKiBBVVRIT1JTLCBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci9jYXJncy5jLCBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCByZmIvcmZiLmg6IGludHJvZHVjZSAtZGVmZXJwdHJ1cGRhdGUKCSh0aGFua3MgRGF2ZSkKCjIwMDUtMTItMTkgIGRzY2hvIDxkc2Nobz4KCgkqIGNsaWVudF9leGFtcGxlcy9TREx2bmN2aWV3ZXIuYywgbGlidm5jY2xpZW50L3NvY2tldHMuYywKCWxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywgbGlidm5jc2VydmVyL21haW4uYywKCWxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgbGlidm5jc2VydmVyL3NvY2tldHMuYzogYXNzb3J0ZWQgZml4ZXMgZm9yCglNaW5HVzMyCgoyMDA1LTEyLTA5ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYywgbGlidm5jY2xpZW50L3NvY2tldHMuYywKCWxpYnZuY3NlcnZlci9zb2NrZXRzLmM6IHdvcmsgYXJvdW5kIHdyaXRlKCkgcmV0dXJuaW5nIEVOT0VOVCBvbgoJU29sYXJpcyAyLjcKCjIwMDUtMTItMDkgIGRzY2hvIDxkc2Nobz4KCgkqIGV4YW1wbGVzL21hYy5jOiBwcmV2aW91cyBwYXRjaCB0dXJuZWQgY29tcGlsZSB3YXJuaW5nIGluIGEgY29tcGlsZQoJZXJyb3I7IGZpeCB0aGF0IDstKQoKMjAwNS0xMi0wOCAgZHNjaG8gPGRzY2hvPgoKCSogZXhhbXBsZXMvbWFjLmM6IGZpeCBjb21waWxlIHdhcm5pbmdzCgoyMDA1LTEyLTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmM6IG9uZSBtb3JlIG1lbW9yeSBsZWFrCgoyMDA1LTEyLTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywgcmZiL3JmYmNsaWVudC5oOiBwbHVnIG1lbW9yeQoJbGVha3MKCjIwMDUtMTItMDcgIGRzY2hvIDxkc2Nobz4KCgkqIGNsaWVudF9leGFtcGxlcy9TREx2bmN2aWV3ZXIuYzogdHJhbnNsYXRlIGtleXMgYmFzZWQgb24gdW5pY29kZQoJKG11Y2ggbW9yZSByZWxpYWJsZSB0aGFuIHN5bSkKCjIwMDUtMTEtMjggIHJ1bmdlIDxydW5nZT4KCgkqIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogYWRkIC1sb29wIG9wdGlvbi4KCjIwMDUtMTEtMjUgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY29uZmlndXJlLmFjLCBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywKCWxpYnZuY2NsaWVudC90aWdodC5jLCBsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmMsCglsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW0sIGxpYnZuY3NlcnZlci9hdXRoLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsCglsaWJ2bmNzZXJ2ZXIvcHJpdmF0ZS5oLCBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL2ZpbGVsaXN0aW5mby5oLAoJbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9maWxldHJhbnNmZXJtc2cuYywKCWxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvaGFuZGxlZmlsZXRyYW5zZmVycmVxdWVzdC5jLAoJbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9yZmJ0aWdodHNlcnZlci5jLAoJcmZiL3JmYmNsaWVudC5oLCByZmIvcmZicHJvdG8uaCwgeDExdm5jL0NoYW5nZUxvZywKCXgxMXZuYy9taXNjL3gxMXZuY19wdywgeDExdm5jL3gxMXZuYy5jOiAgZml4IGRlYWRsb2NrIGZyb20gcmZiUmVsZWFzZUV4dGVuc2lvbkl0ZXJhdG9yKCksIGZpeCBubwoJIGxpYnovbGlianBlZyBidWlsZHMsIGRpc2FibGUgdGlnaHR2bmMtZmlsZXRyYW5zZmVyIGlmIG5vCgkgbGlicHRocmVhZCwgYWRkIC0td2l0aG91dC1wdGhyZWFkIG9wdGlvbiwgcm0gLy8gY29tbWVudHMsIHNldAoJIE5BTUVfTUFYIGlmIG5vdCBkZWZpbmVkLCB4MTF2bmM6IHRocm90dGxlIGxvYWQgaWYgZmIgdXBkYXRlCgkgcmVxdWVzdHMgbm90IHRha2luZyBwbGFjZS4KCjIwMDUtMTAtMjMgIHJ1bmdlIDxydW5nZT4KCgkqIGNvbmZpZ3VyZS5hYywgeDExdm5jL1JFQURNRTogIGNvbmZpZ3VyZS5hYzogdGVzdCAuLi4gPT0gLi4uIG5vdCBhbGxvd2VkIG9uIGFsbCB1bml4LgoKMjAwNS0xMC0yMyAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IC1maWxleGZlciwgLXNsb3dfZmIsIC1ibGFja291dCBub3B0ciwuLi4KCjIwMDUtMTAtMDcgIGRzY2hvIDxkc2Nobz4KCgkqIFRPRE86IHVwZGF0ZSBUT0RPCgoyMDA1LTEwLTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBleGFtcGxlcy9iYWNrY2hhbm5lbC5jLCBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIHJmYi9yZmIuaDogVGhlCglQc2V1ZG9FbmNvZGluZyBleHRlbnNpb24gY29kZSB3YXMgZ2V0dGluZyBzaWxseTogSWYgdGhlIGNsaWVudCBhc2tlZCBmb3IgYW4gZW5jb2RpbmcsIGFuZCBubyBlbmFibGVkIGV4dGVuc2lvbgoJaGFuZGxlZCBpdCwgTGliVk5DU2VydmVyIHdvdWxkIHdhbGsgdGhyb3VnaCBhbGwgZXh0ZW5zaW9ucywgYW5kIGlmCgl0aGV5IHByb21pc2VkIHRvIGhhbmRsZSB0aGUgZW5jb2RpbmcsIGV4ZWN1dGUgdGhlIGV4dGVuc2lvbidzCgluZXdDbGllbnQoKSBpZiBpdCB3YXMgbm90IE5VTEwuICBIb3dldmVyLCBpZiBuZXdDbGllbnQgaXMgbm90IE5VTEwsIGl0IHdpbGwgYmUgY2FsbGVkIHdoZW4gYSBjbGllbnQKCWNvbm5lY3RzLCBhbmQgaWYgaXQgcmV0dXJucyBUUlVFLCB0aGUgZXh0ZW5zaW9uIHdpbGwgYmUgZW5hYmxlZC4KCVNpbmNlIGFsbCB0aGUgc3RhdGUgb2YgdGhlIGV4dGVuc2lvbiBzaG91bGQgYmUgaW4gdGhlIGNsaWVudCBkYXRhLAoJdGhlcmUgaXMgbm8gZ29vZCByZWFzb24gd2h5IG5ld0NsaWVudCBzaG91bGQgcmV0dXJuIEZBTFNFIHRoZSBmaXJzdAoJdGltZSAodGh1cyBub3QgZW5hYmxpbmcgdGhlIGV4dGVuc2lvbiksIGJ1dCBUUlVFIHdoZW4gY2FsbGVkIGp1c3QKCWJlZm9yZSBjYWxsaW5nIGVuYWJsZVBzZXVkb0VuY29kaW5nKCkuICBTbyBpbiBlZmZlY3QsIHRoZSBleHRlbnNpb24gZ290IGVuYWJsZWQgYWxsIHRoZSB0aW1lLCBldmVuIGlmIHRoYXQKCXdhcyBub3QgbmVjZXNzYXJ5LiAgVGhlIHJlc29sdXRpb24gaXMgdG8gcGFzcyBhIHZvaWQqKiB0byBlbmFibGVQc2V1ZG9FbmNvZGluZy4gVGhpcyBoYXMKCXRoZSBmdXJ0aGVyIGFkdmFudGFnZSB0aGF0IGVuYWJsZVBzZXVkb0VuY29kaW5nIGNhbiByZW1hbGxvYygpIG9yCglmcmVlKCkgdGhlIGRhdGEgd2l0aG91dCBwcm9ibGVtcy4gVGhvdWdoIGtlZXAgaW4gbWluZCB0aGF0IGlmCgllbmFibGVQc2V1ZG9FbmNvZGluZygpIGlzIGNhbGxlZCBvbiBhIG5vdC15ZXQtZW5hYmxlZCBleHRlbnNpb24sIHRoZQoJcGFzc2VkIGRhdGEgcG9pbnRzIHRvIE5VTEwuCgoyMDA1LTEwLTA2ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2c6IHVwZGF0ZSBDaGFuZ2VMb2cgZm9yIHRvZGF5CgoyMDA1LTEwLTA2ICBkc2NobyA8ZHNjaG8+CgoJKiBjbGllbnRfZXhhbXBsZXMvTWFrZWZpbGUuYW0sIGNsaWVudF9leGFtcGxlcy9TREx2bmN2aWV3ZXIuYywKCWNsaWVudF9leGFtcGxlcy9iYWNrY2hhbm5lbC5jLCBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywKCXJmYi9yZmJjbGllbnQuaDogYWRkIGFuIGV4dGVuc2lvbiBtZWNoYW5pc20gZm9yIExpYlZOQ0NsaWVudCwgbW9kaWZ5Cgl0aGUgY2xpZW50IGRhdGEgaGFuZGxpbmcgc28gdGhhdCBtb3JlIHRoYW4gb25lIGRhdGEgc3RydWN0dXJlIGNhbiBiZQoJYXR0YWNoZWQsIGFuZCBhZGQgYW4gZXhhbXBsZSB0byBzcGVhayB0aGUgY2xpZW50IHBhcnQgb2YgdGhlIGJhY2sKCWNoYW5uZWwuCgoyMDA1LTEwLTA2ICBkc2NobyA8ZHNjaG8+CgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbSwgZXhhbXBsZXMvYmFja2NoYW5uZWwuYzogYWRkIEJhY2tDaGFubmVsCglleHRlbnNpb24gZXhhbXBsZQoKMjAwNS0xMC0wNiAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jY2xpZW50L3pybGUuYzogZml4IHdhcm5pbmcKCjIwMDUtMTAtMDYgIGRzY2hvIDxkc2Nobz4KCgkqIGNvbmZpZ3VyZS5hYywgZXhhbXBsZXMvbWFjLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsCglsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIGxpYnZuY3NlcnZlci9zdGF0cy5jLAoJbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9maWxldHJhbnNmZXJtc2cuYywgcmZiL3JmYi5oLAoJcmZiL3JmYnByb3RvLmg6IGtpbGwgQmFja0NoYW5uZWwgYW5kIEN1c3RvbUNsaWVudE1lc3NhZ2U6IHRoZSBuZXcKCWV4dGVuc2lvbiB0ZWNobmlxdWUgbWFrZXMgdGhlc2UgaG9va3Mgb2Jzb2xldGUKCjIwMDUtMTAtMDYgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywKCWxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvcmZidGlnaHRzZXJ2ZXIuYywgcmZiL3JmYi5oOiAKCXByb3ZpZGUgYSBsaXN0IG9mIHRoZSBwc2V1ZG8gZW5jb2RpbmdzIHVuZGVyc3Rvb2QgYnkgdGhlIGV4dGVuc2lvbgoKMjAwNS0xMC0wNiAgZHNjaG8gPGRzY2hvPgoKCSogY29udHJpYi9NYWtlZmlsZS5hbSwgeDExdm5jL01ha2VmaWxlLmFtOiBERUZJTkVTIC0+IEFNX0NGTEFHUwoKMjAwNS0xMC0wNiAgZHNjaG8gPGRzY2hvPgoKCSogY2xpZW50X2V4YW1wbGVzL01ha2VmaWxlLmFtLCBleGFtcGxlcy9NYWtlZmlsZS5hbSwKCWxpYnZuY2NsaWVudC9NYWtlZmlsZS5hbSwKCWxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvTWFrZWZpbGUuYW0sIHRlc3QvTWFrZWZpbGUuYW06IGRvCglpdCByaWdodDogaXQgaXMgbm90IERFRklORVMsIGJ1dCBBTV9DRkxBR1MKCjIwMDUtMTAtMDMgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLAoJbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9yZmJ0aWdodHNlcnZlci5jLCByZmIvcmZiLmg6IGFkZAoJZW5hYmxlUHNldWRvRW5jb2RpbmcoKSB0byByZmJQcm90b2NvbEV4dGVuc2lvbgoKMjAwNS0wOS0yOSAgZHNjaG8gPGRzY2hvPgoKCSogVE9ETywgaW5kZXguaHRtbDogbW9yZSBUT0RPcywgYW5kIGFuIHVwZGF0ZSB0byB0aGUgd2Vic2l0ZQoKMjAwNS0wOS0yOCAgZHNjaG8gPGRzY2hvPgoKCSogQVVUSE9SUywgQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIGV4YW1wbGVzLy5jdnNpZ25vcmUsCglleGFtcGxlcy9NYWtlZmlsZS5hbSwgZXhhbXBsZXMvZmlsZXRyYW5zZmVyLmMsCglsaWJ2bmNjbGllbnQvLmN2c2lnbm9yZSwgbGlidm5jc2VydmVyLy5jdnNpZ25vcmUsCglsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW0sIGxpYnZuY3NlcnZlci9hdXRoLmMsCglsaWJ2bmNzZXJ2ZXIvY2FyZ3MuYywgbGlidm5jc2VydmVyL21haW4uYywKCWxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgbGlidm5jc2VydmVyL3NvY2tldHMuYywKCWxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvLmN2c2lnbm9yZSwKCWxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvTWFrZWZpbGUuYW0sCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL2ZpbGVsaXN0aW5mby5jLAoJbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9maWxlbGlzdGluZm8uaCwKCWxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvZmlsZXRyYW5zZmVybXNnLmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL2ZpbGV0cmFuc2Zlcm1zZy5oLAoJbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9oYW5kbGVmaWxldHJhbnNmZXJyZXF1ZXN0LmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHR2bmMtZmlsZXRyYW5zZmVyL2hhbmRsZWZpbGV0cmFuc2ZlcnJlcXVlc3QuaCwKCWxpYnZuY3NlcnZlci90aWdodHZuYy1maWxldHJhbnNmZXIvcmZidGlnaHRwcm90by5oLAoJbGlidm5jc2VydmVyL3RpZ2h0dm5jLWZpbGV0cmFuc2Zlci9yZmJ0aWdodHNlcnZlci5jLCByZmIvcmZiLmg6IFRoaXMKCW1vbnN0ZXIgY29tbWl0IGNvbnRhaW5zIHN1cHBvcnQgZm9yIFRpZ2h0Vk5DJ3MgZmlsZSB0cmFuc2ZlcgoJcHJvdG9jb2wuICBUaGFuayB5b3UgdmVyeSBtdWNoLCBSb2hpdCEKCjIwMDUtMDktMjcgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyL2NhcmdzLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsCglsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIGxpYnZuY3NlcnZlci9zb2NrZXRzLmMsIHJmYi9yZmIuaDogCglJbnRyb2R1Y2UgZ2VuZXJpYyBwcm90b2NvbCBleHRlbnNpb24gbWV0aG9kLiBEZXByZWNhdGUgdGhlCglwcm9jZXNzQ3VzdG9tQ2xpZW50TWVzc2FnZSgpIG1ldGhvZC4KCjIwMDUtMDktMjcgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci9hdXRoLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsIHJmYi9yZmIuaDogU2VjdXJpdHkgaXMKCWdsb2JhbC4gVGhpcyB3YXMgYSBtaXNndWlkZWQgYXR0ZW1wdCB0byBldmFkZSBhIGdsb2JhbCBsaXN0LiAgSQoJZXZlbnR1YWxseSBzYXcgdGhlIGxpZ2h0IGFuZCB3ZW50IHdpdGggUm9oaXS0cyBvcmlnaW5hbCBhcHByb2FjaC4KCjIwMDUtMDktMjcgIGRzY2hvIDxkc2Nobz4KCgkqIGNsaWVudF9leGFtcGxlcy9NYWtlZmlsZS5hbSwgY2xpZW50X2V4YW1wbGVzL3ZuYzJtcGcuYzogc3VwcG9ydAoJbmV3IGZmbXBlZyB2ZXJzaW9uCgoyMDA1LTA5LTI2ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci9hdXRoLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsCglsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIHJmYi9yZmIuaCwgcmZiL3JmYnByb3RvLmg6IHN1cHBvcnQgVk5DCglwcm90b2NvbCB2ZXJzaW9uIDMuNwoKMjAwNS0wOC0yMiAgZHNjaG8gPGRzY2hvPgoKCSogcHJlcGFyZV94MTF2bmNfZGlzdC5zaDogZm9yIHgxMXZuYyBzdGFuZGFsb25lIHBhY2thZ2UsIGFkYXB0aW9ucwoJd2VyZSBuZWVkZWQgYWZ0ZXIgY2hhbmdpbmcgTGliVk5DU2VydmVyLnNwZWMuaW4KCjIwMDUtMDgtMjEgIGRzY2hvIDxkc2Nobz4KCgkqIEFVVEhPUlMsIENoYW5nZUxvZywgTGliVk5DU2VydmVyLnNwZWMuaW46IHNwbGl0IHJwbSBpbnRvIHRocmVlCglwYWNrYWdlczogdGhlIGxpYnJhcnksIC1kZXZlbCAoaGVhZGVycyksIGFuZCB4MTF2bmMKCjIwMDUtMDctMTggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogbW9yZSBndWkgZml4ZXMsIGd1aSByZXF1ZXN0cyB2aWEgY2xpZW50X3NvY2ssCgkgUEFTU1dEX1JFUVVJUkVEIGJ1aWxkIG9wdC4KCjIwMDUtMDctMTMgIHJ1bmdlIDxydW5nZT4KCgkqIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogc2V0dXAgZm9yIG5ldyByZWxlYXNlIDAuNy4zIHdoaWxlIEkgcmVtZW1iZXIgaG93Li4KCjIwMDUtMDctMTMgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL3RreDExdm5jLAoJeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiB0d2Vha3MgZm9yIHJlbGVhc2UsIGZpeCBxdWV1ZSBidWlsZHVwIHVuZGVyIC12aWV3b25seS4KCjIwMDUtMDctMTEgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogbW9yZSBpbXByb3ZlbWVudHMgdG8gZ3VpLCBzY2FyeSBub3Bhc3N3b3JkIHdhcm5pbmcgbXNnLgoKMjAwNS0wNy0wOSAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IC1ncmFiX2J1c3RlciBmb3IgWEdyYWJTZXJ2ZXIgZGVhZGxvY2s7IGZpeCBzY3JvbGxzIGFuZAoJIGNvcHlyZWN0IGZvciAtY2xpcCBhbmQgLWlkCgoyMDA1LTA3LTA3ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogLWd1aSB0cmF5IG5vdyBlbWJlZHMgaW4gc3lzdHJheTsgbW9yZSBpbXByb3ZlbWVudHMgdG8gZ3VpLgoKMjAwNS0wNy0wMiAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBsaWJ2bmNzZXJ2ZXIvaHR0cGQuYywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogLWd1aSB0cmF5IG1vZGUsIGh0dHBkLmM6IGNoZWNrIGh0dHBMaXN0ZW5Tb2NrID49IDAuCgoyMDA1LTA2LTI4ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIFRPRE8sIGxpYnZuY2NsaWVudC96cmxlLmM6IGZpeCBhbm5veWluZyB6cmxlIGRlY29kaW5nCglidWcKCjIwMDUtMDYtMjcgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyL21haW4uYzogIG1haW4uYzogZml4IHNjcmVlbi0+ZGVmZXJVcGRhdGVUaW1lIGRlZmF1bHQuCgoyMDA1LTA2LTI3ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IHRyYWNrIGtleWNvZGUgc3RhdGUgZm9yIGhldXJpc3RpY3MsIC1zbG9wcHlfa2V5cywgLXdtZHQsCgkgYWRkIC1ub2RiZyBhcyBvcHRpb24KCjIwMDUtMDYtMjEgIGRzY2hvIDxkc2Nobz4KCgkqIFRPRE86IFpSTEUgaGFzIHByb2JsZW1zIHdpdGggUmVhbFZOQyBzZXJ2ZXIuIExvb2sgaW50byBpdC4KCjIwMDUtMDYtMjEgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiBsb25nIGluZm8gYW5kIHRpcHMgd2hlbiBYT3BlbkRpc3BsYXkgZmFpbHMsIHJlaW5zdGF0ZSAiYmFkCgkgZGVza3RvcCIgZm9yIHdpcmVmcmFtZQoKMjAwNS0wNi0xOCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIGNvbmZpZ3VyZS5hYzogSFAtVVggYW5kIE9TRjEgbm8gLVIsIHgxMXZuYzogc2Vjb25kIHJvdW5kIG9mCgkgYmV0YS10ZXN0aW5nIGZpeGVzLgoKMjAwNS0wNi0xNCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIGxpYnZuY3NlcnZlci9jdXJzb3IuYywgeDExdm5jL0NoYW5nZUxvZywKCXgxMXZuYy9SRUFETUUsIHgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYzogIG1haW4uYzogWFJlYWRTY3JlZW4gY2hlY2ssIGZpeCA2NGJpdCB1c2Ugb2YgY3Vyc29ycywgeDExdm5jOiBmaXJzdAoJIHJvdW5kIG9mIGJldGEtdGVzdGluZyBmaXhlcywgUkZFJ3MuCgoyMDA1LTA2LTExICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYzogbm8gbG9uZ2VyIGNvbXBsYWluIG9uIFNvbGFyaXMgYWJvdXQKCW1pc3NpbmcgYXIsIHdoaWNoIHdhcyBub3QgcmVhbGx5IG1pc3NpbmcKCjIwMDUtMDYtMDYgIGRzY2hvIDxkc2Nobz4KCgkqIHJmYi9yZmJwcm90by5oOiBhZGQgZGVmaW5pdGlvbnMgZnJvbSBvdGhlciBWTkMgaW1wbGVtZW50YXRpb25zCgoyMDA1LTA2LTA2ICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPOiBtb3JlIFRPRE9zCgoyMDA1LTA2LTA2ICBkc2NobyA8ZHNjaG8+CgoJKiBjbGllbnRfZXhhbXBsZXMvTWFrZWZpbGUuYW0sIGNvbmZpZ3VyZS5hYzogbGluayB0byBsaWJtcDNsYW1lIG9ubHkKCWlmIGV4aXN0cwoKMjAwNS0wNi0wNCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jOiAgbWFpbi5jOiBubyBzcmFSZ25TdWJzdHJhY3QgZm9yIGNvcHlSZWN0LCBzY3JvbGxzIGZvciB4MTF2bmMgLXNjYWxlOwoJIGFkZCAtZml4c2NyZWVuCgoyMDA1LTA1LTMxICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci9tYWluLmMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIG1haW4uYzogZml4IGNvcHlSZWN0IGZvciBub24tY3Vyc29yLXNoYXBlLWF3YXJlIGNsaWVudHMuCgoyMDA1LTA1LTI1ICBkc2NobyA8ZHNjaG8+CgoJKiBpbmRleC5odG1sOiBuZXdzCgoyMDA1LTA1LTI1ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy9DaGFuZ2VMb2csCgl4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IHNjcm9sbGluZzogZ3JhYnNlcnZlciwgYXV0b3JlcGVhdCB0aHJvdHRsaW5nLCBtb3VzZSB3aGVlbCwKCSBmaXggb25ldGlsZQoKMjAwNS0wNS0yNCAgZHNjaG8gPGRzY2hvPgoKCSogZXhhbXBsZXMvLmN2c2lnbm9yZTogbWFjIHdvcmtzIQoKMjAwNS0wNS0yNCAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUuYW0sIGNvbmZpZ3VyZS5hYzogbWFrZSBsaWJ2bmNzZXJ2ZXItY29uZiBleGVjdXRhYmxlIHRoZQoJYXV0b2NvbmYgd2F5CgoyMDA1LTA1LTI0ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZS5hbTogIm1ha2UgdCIgbm93IGV4ZWN1dGVzIHRoZSB0ZXN0cwoKMjAwNS0wNS0yNCAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jY2xpZW50L01ha2VmaWxlLmFtOiBkbyBkaXN0cmlidXRlIGFuZCBkZXBlbmQgb24genJsZS5jCgoyMDA1LTA1LTI0ICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPLCBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3RpZ2h0LmMsCglsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmMsIGxpYnZuY2NsaWVudC96bGliLmMsIGxpYnZuY2NsaWVudC96cmxlLmMsCgl0ZXN0L2VuY29kaW5nc3Rlc3QuYzogaW1wbGVtZW50IFpSTEUgZGVjb2RpbmcKCjIwMDUtMDUtMjQgIGRzY2hvIDxkc2Nobz4KCgkqIGNsaWVudF9leGFtcGxlcy9TREx2bmN2aWV3ZXIuYzogdHJ5IDMyIGJpdCBmaXJzdAoKMjAwNS0wNS0yNCAgZHNjaG8gPGRzY2hvPgoKCSogZXhhbXBsZXMvZXhhbXBsZS5jLCBsaWJ2bmNzZXJ2ZXIvZm9udC5jOiBmaXggb2ZmIGJ5IG9uZSBidWcKCjIwMDUtMDUtMjMgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY2NsaWVudC90aWdodC5jLCBsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmM6IGluaXQgYSBzdHJ1Y3R1cmUKCSpiZWZvcmUqIHVzaW5nIGl0Li4uCgoyMDA1LTA1LTIzICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNjbGllbnQvdGlnaHQuYzogcmVtb3ZlIHdyb25nIGNvbW1lbnQKCjIwMDUtMDUtMjMgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvdGlnaHQuYywKCWxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywgbGlidm5jY2xpZW50L3psaWIuYywgcmZiL3JmYmNsaWVudC5oOiBtYWtlCgl6bGliIGFuZCB0aWdodCBoYW5kbGluZyB0aHJlYWQgc2FmZSAoc3RhdGljIC0+IHJmYkNsaWVudCkKCjIwMDUtMDUtMjMgIGRzY2hvIDxkc2Nobz4KCgkqIGNsaWVudF9leGFtcGxlcy92bmMybXBnLmM6IHdvcmsgYXJvdW5kIGJ1ZyBpbiBmZm1wZWcKCjIwMDUtMDUtMjMgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgY29uZmlndXJlLmFjOiBzaW1wbGlmeSBjb25maWd1cmUgKGRvIG5vdCBjaGVjayBmb3IKCW1hbGxvYygwKSBidWcpCgoyMDA1LTA1LTIzICBkc2NobyA8ZHNjaG8+CgoJKiBjbGllbnRfZXhhbXBsZXMvdm5jMm1wZy5jOiBmaXggY29tcGlsYXRpb24gZm9yCglMSUJBVkNPREVDX0JVSUxEPT00NzU0CgoyMDA1LTA1LTIwICBkc2NobyA8ZHNjaG8+CgoJKiBhY2luY2x1ZGUubTQ6IGZpbmFsbHkgZml4IHNvY2tsZW5fdCBwcm9ibGVtCgoyMDA1LTA1LTE4ICBkc2NobyA8ZHNjaG8+CgoJKiBhY2luY2x1ZGUubTQ6IGZpeCBzb2NrbGVuX3QgYWxzbyBmb3IgZGVmaW5lcwoKMjAwNS0wNS0xOCAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBhY2luY2x1ZGUubTQsIHJmYi9yZmIuaDogZml4IGNvbXBpbGF0aW9uIGZvciBzeXN0ZW1zCgl3aXRob3V0IHNvY2tsZW5fdAoKMjAwNS0wNS0xOCAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jc2VydmVyL21haW4uYzogZml4IG9mZiBieSBvbmUgYnVnCgoyMDA1LTA1LTE4ICBkc2NobyA8ZHNjaG8+CgoJKiBleGFtcGxlcy92bmNldi5jLCBsaWJ2bmNjbGllbnQvbGlzdGVuLmMsIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLAoJbGlidm5jY2xpZW50L3NvY2tldHMuYywgbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jLAoJbGlidm5jc2VydmVyL21haW4uYywgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLAoJbGlidm5jc2VydmVyL3ZuY2F1dGguYywgcmZiL3JmYi5oLCB0ZXN0L2NvcHlyZWN0dGVzdC5jLAoJdGVzdC9lbmNvZGluZ3N0ZXN0LmMsIHZuY3Rlcm0vVk5Db21tYW5kLmM6IGhpZGUgc3RyaWN0IGFuc2kgc3R1ZmYgaWYKCW5vdCBleHBsaWNpdGVseSB0dXJuZWQgb247IGFjdHVhbGx5IHVzZSB0aGUgc29ja2xlbl90IHRlc3QgZnJvbQoJY29uZmlndXJlLmFjCgoyMDA1LTA1LTE4ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogbW9yZSBzY3JvbGxpbmcsIC1zY3JfdGVybSwgLXdhaXRfdWksIC1ub3dhaXRfYm9nCgoyMDA1LTA1LTE3ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW06IGFsc28gZGlzdHJpYnV0ZSBwcml2YXRlLmguLi4KCjIwMDUtMDUtMTcgIGRzY2hvIDxkc2Nobz4KCgkqIFRPRE86IHVwZGF0ZSBUT0RPcwoKMjAwNS0wNS0xNiAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBmaXggU0lHU0VHViB3aGVuIGNsaWVudCBoYXMgaW5jb21wYXRpYmxlCglwcm90b2NvbDsgcmVsZWFzZSBtdXRleCBiZWZvcmUgZnJlZWluZyBpdAoKMjAwNS0wNS0xNSAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBWaXN1YWxOYUNyby9jb25maWd1cmUuYWMsIFZpc3VhbE5hQ3JvL2RlZmF1bHQ4eDE2LmgsCglWaXN1YWxOYUNyby9uYWNyby5jLCBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmMsCgljbGllbnRfZXhhbXBsZXMvcHBtdGVzdC5jLCBjb250cmliL3ppcHB5LmMsIGV4YW1wbGVzL2V4YW1wbGUuYywKCWV4YW1wbGVzL2ZvbnRzZWwuYywgZXhhbXBsZXMvcG5tc2hvdy5jLCBleGFtcGxlcy9wbm1zaG93MjQuYywKCWV4YW1wbGVzL3JhZG9uLmgsIGV4YW1wbGVzL3N0b3JlcGFzc3dkLmMsIGV4YW1wbGVzL3ZuY2V2LmMsCglsaWJ2bmNjbGllbnQvbGlzdGVuLmMsIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLAoJbGlidm5jY2xpZW50L3NvY2tldHMuYywgbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jLAoJbGlidm5jc2VydmVyL2F1dGguYywgbGlidm5jc2VydmVyL2NhcmdzLmMsIGxpYnZuY3NlcnZlci9jb3JyZS5jLAoJbGlidm5jc2VydmVyL2N1cnNvci5jLCBsaWJ2bmNzZXJ2ZXIvZDNkZXMuYywgbGlidm5jc2VydmVyL2ZvbnQuYywKCWxpYnZuY3NlcnZlci9oZXh0aWxlLmMsIGxpYnZuY3NlcnZlci9odHRwZC5jLCBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLAoJbGlidm5jc2VydmVyL3ByaXZhdGUuaCwgbGlidm5jc2VydmVyL3JmYnJlZ2lvbi5jLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCBsaWJ2bmNzZXJ2ZXIvcnJlLmMsCglsaWJ2bmNzZXJ2ZXIvc2VsYm94LmMsIGxpYnZuY3NlcnZlci9zb2NrZXRzLmMsCglsaWJ2bmNzZXJ2ZXIvdGlnaHQuYywgbGlidm5jc2VydmVyL3RyYW5zbGF0ZS5jLAoJbGlidm5jc2VydmVyL3ZuY2F1dGguYywgbGlidm5jc2VydmVyL3psaWIuYywgbGlidm5jc2VydmVyL3pybGUuYywKCWxpYnZuY3NlcnZlci96cmxlZW5jb2RldGVtcGxhdGUuYywgbGlidm5jc2VydmVyL3pybGVvdXRzdHJlYW0uYywKCXJmYi9kZWZhdWx0OHgxNi5oLCByZmIvcmZiLmgsIHJmYi9yZmJwcm90by5oLCB0ZXN0L2NvcHlyZWN0dGVzdC5jLAoJdGVzdC9jdXJzb3J0ZXN0LmMsIHRlc3QvZW5jb2RpbmdzdGVzdC5jLCB2bmN0ZXJtL1ZOQ29tbWFuZC5jLAoJdm5jdGVybS9WTkNvbnNvbGUuYzogQU5TSWZ5LCBmaXggc29tZSB3YXJuaW5ncyBmcm9tIExpbnVzJyBzcGFyc2UKCjIwMDUtMDUtMTUgIHJ1bmdlIDxydW5nZT4KCgkqIGxpYnZuY3NlcnZlci9tYWluLmMsIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogIGxpYnZuY3NlcnZlci97bWFpbi5jLHJmYnNlcnZlci5jfTogZml4IGEgY291cGxlIG1vcmUgQ29weVJlY3QKCSBtZW1vcnkgbGVha3MKCjIwMDUtMDUtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIC5jdnNpZ25vcmUsIGV4YW1wbGVzLy5jdnNpZ25vcmUsIHRlc3QvLmN2c2lnbm9yZSwKCXgxMXZuYy9taXNjLy5jdnNpZ25vcmU6IG1vcmUgZmlsZXMgdG8gaWdub3JlCgoyMDA1LTA1LTE0ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGV4YW1wbGVzL2V4YW1wbGUuYywgbGlidm5jc2VydmVyL21haW4uYywKCWxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogZml4IG1lbW9yeSBsZWFrcyBkZXRlY3RlZCB1c2luZyB2YWxncmluZAoKMjAwNS0wNS0xNCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IG1vcmUgaW1wcm92ZW1lbnRzIHRvIC1zY3JvbGxjb3B5cmVjdCBhbmQgLXhrYiBtb2Rlcy4KCjIwMDUtMDUtMDcgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgVmlzdWFsTmFDcm8vbmFjcm8uYywgVmlzdWFsTmFDcm8vbmFjcm8uaCwKCWV4YW1wbGVzL2V4YW1wbGUuYywgZXhhbXBsZXMvZm9udHNlbC5jLCBsaWJ2bmNzZXJ2ZXIvaHR0cGQuYywKCWxpYnZuY3NlcnZlci9tYWluLmMsIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywKCWxpYnZuY3NlcnZlci9zb2NrZXRzLmMsIHJmYi9yZmIuaCwgdGVzdC9jdXJzb3J0ZXN0LmMsCgl2bmN0ZXJtL0xpbnV4Vk5DLmMsIHZuY3Rlcm0vVk5Db25zb2xlLmMsIHgxMXZuYy94MTF2bmMuYzogCglzb2NrZXRJbml0RG9uZSAtPiBzb2NrZXRTdGF0ZQoKMjAwNS0wNS0wMyAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIGxpYnZuY3NlcnZlci9tYWluLmM6ICBsaWJ2bmNzZXJ2ZXIvbWFpbi5jOiBmaXggbWVtb3J5IGxlYWsgaW4KCSByZmJEb0NvcHlSZWN0L3JmYlNjaGVkdWxlQ29weVJlY3Q7IGNvbmZpZ3VyZS5hYyB0d2Vha3MuCgoyMDA1LTA1LTAzICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogLXNjcm9sbGNvcHlyZWN0L1JFQ09SRCwgZXRjLiBjb25maWd1cmUuYWM6IGN1c3RvbWl6YXRpb25zCgkgZm9yIHgxMXZuYyBwa2cKCjIwMDUtMDQtMjcgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBjbGVhciByZXF1ZXN0ZWQgcmVnaW9uIGFmdGVyCgloYW5kbGluZyBpdAoKMjAwNS0wNC0xOSAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvbWlzYy9SRUFETUUsCgl4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IC13aXJlZnJhbWUsIC13aXJlY29weXJlY3QsIC1wcml2cmVtb3RlLCAtc2FmZXIsIC1ub2NtZCwKCSAtdW5zYWZlLCAtbm92aWV3b25seQoKMjAwNS0wNC0xMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL21pc2MvTWFrZWZpbGUuYW0sIHgxMXZuYy9taXNjL3JhbmZiLnBsOiAgeDExdm5jOiBhZGQgcmF3ZmIgc2V0dXAgZXhhbXBsZSBtaXNjL3JhbmZiLnBsCgoyMDA1LTA0LTExICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvbWlzYy9zbGlkZS5wbCwKCXgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogZml4IHNvbWUgLXJhd2ZiIGJ1Z3MsIGFkZCBzZXR1cDpjbWQKCjIwMDUtMDQtMTAgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY29uZmlndXJlLmFjLCBwcmVwYXJlX3gxMXZuY19kaXN0LnNoLAoJeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL01ha2VmaWxlLmFtLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL21pc2MvTWFrZWZpbGUuYW0sIHgxMXZuYy9taXNjL1JFQURNRSwKCXgxMXZuYy9taXNjL2Jsb2NrZHB5LmMsIHgxMXZuYy9taXNjL2R0Vm5jUG9wdXAsCgl4MTF2bmMvbWlzYy9yeDExdm5jLCB4MTF2bmMvbWlzYy9yeDExdm5jLnBsLCB4MTF2bmMvbWlzYy9zaG1fY2xlYXIsCgl4MTF2bmMvbWlzYy9zbGlkZS5wbCwgeDExdm5jL21pc2MvdmNpbmplY3QucGwsCgl4MTF2bmMvbWlzYy94MTF2bmNfbG9vcCwgeDExdm5jL3RreDExdm5jLCB4MTF2bmMvdGt4MTF2bmMuaCwKCXgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiAtcmF3ZmIsIC1waXBlaW5wdXQsIC14dHJhcCwgLWZsYWcsIC4uLgoKMjAwNS0wNC0wNCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IHVzZSBERUMtWFRSQVAgb24gbGVnYWN5IFgxMVI1LCAtc2hpZnRjbWFwLCAtaHR0cAoKMjAwNS0wMy0yOSAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IGZpeCBldmVudCBsZWFrcywgYnVpbGQtdGltZSBjdXN0b21pemF0aW9ucywgLW5vbG9va3VwCgoyMDA1LTAzLTIwICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogc2NhbGUgY3Vyc29ycywgc3BlZWQgdXAgc29tZSBzY2FsaW5nLCBhbHQgYXJyb3dzLCAtbm9yZXBlYXQKCSBOCgoyMDA1LTAzLTEyICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogWCBEQU1BR0Ugc3VwcG9ydCwgLWNsaXAgV3hIK1grWSwgaWRlbnRkLgoKMjAwNS0wMy0wOSAgZHNjaG8gPGRzY2hvPgoKCSogdGVzdC9lbmNvZGluZ3N0ZXN0LmM6IGZpeCBjb21waWxhdGlvbiB3aGVuIG5vIGxpYnogaXMgYXZhaWxhYmxlCgoyMDA1LTAzLTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBjb25maWd1cmUuYWMsIHJmYi9yZmJwcm90by5oOiBkbyB0aGUgaW5fYWRkcl90IHN0dWZmIGNvcnJlY3RseS4uLgoKMjAwNS0wMy0wNyAgZHNjaG8gPGRzY2hvPgoKCSogY29uZmlndXJlLmFjOiBjaGVjayBmb3IgaW5fYWRkcl90CgoyMDA1LTAzLTA2ICBkc2NobyA8ZHNjaG8+CgoJKiBjbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmM6IGZpeCBmb3Igb2xkZXIgU0RMIHZlcnNpb25zCgoyMDA1LTAzLTA1ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIE1ha2VmaWxlLmFtLCBjb25maWd1cmUuYWMsIGxpYnZuY3NlcnZlci9NYWtlZmlsZS5hbTogIGF1dG9jb25mOiBycG0gLT4gcnBtYnVpbGQgYW5kIGVjaG8gLW4gLT4gcHJpbnRmCgoyMDA1LTAzLTA1ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY2NsaWVudC9zb2NrZXRzLmMsIGxpYnZuY3NlcnZlci9jYXJncy5jLAoJbGlidm5jc2VydmVyL2h0dHBkLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsIGxpYnZuY3NlcnZlci9zb2NrZXRzLmMsCglyZmIvcmZiLmgsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIGFkZCAnLWxpc3RlbiBpcGFkZHInIG9wdGlvbgoKMjAwNS0wMy0wMSAgZHNjaG8gPGRzY2hvPgoKCSogY2xpZW50X2V4YW1wbGVzL3BwbXRlc3QuYzogZG8gbm90IGNyYXNoIHdoZW4gL3RtcCBpcyBub3Qgd3JpdGFibGUKCjIwMDUtMDItMjMgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiBmaW5hbCBjaGFuZ2VzIGZvciAwLjcuMSByZWxlYXNlLgoKMjAwNS0wMi0yMiAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL3RreDExdm5jLAoJeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiAtbmFwIGlzIG5vdyB0aGUgZGVmYXVsdCwgdmVyc2lvbiBzdHIgMC43LjEuCgoyMDA1LTAyLTE0ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogLXVzZXJzIGx1cms9LCAtc29saWQgZm9yIGNkZSwgLWd1aSBleiwuLiBiZWdpbm5lciBtb2RlLgoKMjAwNS0wMi0xMSAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdGt4MTF2bmMsCgl4MTF2bmMvdGt4MTF2bmMuaCwgeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmMgLWlucHV0IHRvIGZpbmUgdHVuZSBhbGxvdyB1c2VyIGlucHV0LiAgcGVyLWNsaWVudCBzZXR0aW5ncwoJIC1SCgoyMDA1LTAyLTA5ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYzogIHgxMXZuYyAtdXNlcnMsIGZpeCAtc29saWQgb24gZ25vbWUva2RlLCBjb25maWd1cmUuYWMgcHdkLmggd2FpdC5oCgkgYW5kIHV0bXB4LmgKCjIwMDUtMDItMDcgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgcHJlcGFyZV94MTF2bmNfZGlzdC5zaDogIHByZXBhcmVfeDExdm5jX2Rpc3Quc2g6IGZldyB0d2Vha3MgZm9yIG5leHQgcmVsZWFzZQoKMjAwNS0wMi0wNyAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWM6ICBjb25maWd1cmUuYWM6IC0td2l0aC1qcGVnPURJUiAtLXdpdGgtemxpYj1ESVIsIC91c3Ivc2Z3CgoyMDA1LTAyLTA1ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHRpZ2h0dm5jLTEuM2RldjUtdm5jdmlld2VyLWFscGhhLWN1cnNvci5wYXRjaCwKCXgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsIHgxMXZuYy90a3gxMXZuYywKCXgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYyAtc29saWQgY29sb3IsIC1vcHRzOyB0aWdodHZuYyB1bml4IHZpZXdlciBhbHBoYSBwYXRjaAoKMjAwNS0wMS0yNSAgZHNjaG8gPGRzY2hvPgoKCSogVE9ETywgbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiAxMGw6IHJlYWxseSBmaXggcHJlZmVycmVkRW5jb2RpbmcKCXNldCBmcm9tIG91dHNpZGUKCjIwMDUtMDEtMjQgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy94MTF2bmMuYzogIHdob29wcywgdGVzdCB2ZXJzaW9uIG9mIHgxMXZuYy5jIGxlYWtlZCBvdXQuLi4KCjIwMDUtMDEtMjQgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL3RreDExdm5jLAoJeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jOiAgc3luYyB3aXRoIG5ldyBjdXJzb3IgbWVjaGFuaXNtLCAtdGltZW91dCwgLW5vYWxwaGFibGVuZCwgdHJ5IDowIGlmCgkgbm8gb3RoZXIgaW5mbwoKMjAwNS0wMS0yMyAgZHNjaG8gPGRzY2hvPgoKCSogdGVzdC9jdXJzb3J0ZXN0LmM6IHRlc3QgRmxveWQtU3RlaW5iZXJnIGRpdGhlciBmb3IgYWxwaGEgbWFza3MKCjIwMDUtMDEtMjEgIGRzY2hvIDxkc2Nobz4KCgkqIFRPRE8sIGxpYnZuY3NlcnZlci9jdXJzb3IuYywgcmZiL3JmYi5oOiBpbXBsZW1lbnRlZAoJRmxveWQtU3RlaW5iZXJnIGRpdGhlciBpbiBvcmRlciB0byByZmJNYWtlTWFza0Zyb21BbHBoYVNvdXJjZQoKMjAwNS0wMS0yMSAgZHNjaG8gPGRzY2hvPgoKCSogVmlzdWFsTmFDcm8vcmVjb3JkZXIucGw6IHVzZSBHZXRvcHQKCjIwMDUtMDEtMjEgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYzogaWYgbm8gYXJnYyAmIGFyZ3YgYXJlIHBhc3NlZCwgaG9ub3VyIHRoZQoJc2VydmVySG9zdCZzZXJ2ZXJQb3J0IHdoaWNoIHdhcyBzZXQgYnkgdGhlIGFwcGxpY2F0aW9uCgoyMDA1LTAxLTIwICBkc2NobyA8ZHNjaG8+CgoJKiB0ZXN0L2N1cnNvcnRlc3QuYzogbm8gbmVlZCB0byBzdHJkdXAgZm9yIE1ha2VYQ3Vyc29yCgoyMDA1LTAxLTIwICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGxpYnZuY3NlcnZlci9jdXJzb3IuYzogZGlzYXBwZWFyaW5nIGN1cnNvciBmaXhlZCAmCglkZWJ1ZyBtZXNzYWdlIHB1cmdlZAoKMjAwNS0wMS0yMCAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jc2VydmVyL2N1cnNvci5jLCBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiBmaXggZGlzYXBwZWFyaW5nIGN1cnNvcgoKMjAwNS0wMS0xOSAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jc2VydmVyL2N1cnNvci5jOiByZWRyYXcgcmVnaW9uIHVuZGVyIG9sZCBjdXJzb3IgZXZlbiBpZiB0aGUKCW9sZCBjdXJzb3IgZG9lc24ndCBoYXZlIHRvIGJlIGZyZWVkLgoKMjAwNS0wMS0xOSAgZHNjaG8gPGRzY2hvPgoKCSogVE9ETzogYSBncmFudGVkIHdpc2ggaGFzIHNldmVyYWwgY2hpbGRyZW4gOy0pCgoyMDA1LTAxLTE5ICBkc2NobyA8ZHNjaG8+CgoJKiB0ZXN0L2VuY29kaW5nc3Rlc3QuYzogZml4IHRlc3QgKGRvbid0IHNob3cgY3Vyc29yLi4uKTsgY29ycmVjdGx5CglzZXQgdGhlIGVuY29kaW5ncyBpbiB0aGUgY2xpZW50OyByZWFsbHkgdGVzdCAyMCBzZWNvbmRzCgoyMDA1LTAxLTE5ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXIvY3Vyc29yLmM6IG9vcHMsIGEgZGVidWcgbWVzc2FnZSBzbGlwcGVkIHRocm91Z2gKCjIwMDUtMDEtMTggIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgY29udHJpYi96aXBweS5jLCBleGFtcGxlcy9leGFtcGxlLmMsCglsaWJ2bmNzZXJ2ZXIvY3Vyc29yLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsCglsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsIGxpYnZuY3NlcnZlci9zZWxib3guYywgcmZiL3JmYi5oLAoJdm5jdGVybS9WTkNvbnNvbGUuYywgeDExdm5jL3gxMXZuYy5jOiBwb2ludGVyQ2xpZW50IHdhcyBzdGlsbAoJc3RhdGljLiAgZG8gbm90IG1ha2UgcmVxdWVzdGVkUmVnaW9uIGVtcHR5IHdpdGhvdXQgcmVhc29uLiAgdGhlIGN1cnNvciBoYW5kbGluZyBmb3IgY2xpZW50cyB3aGljaCBkb24ndCBoYW5kbGUgQ3Vyc29yU2hhcGUKCXVwZGF0ZXMgd2FzIGNvbXBsZXRlbHkgYnJva2VuLiBJdCBvcmlnaW5hbGx5IHdhcyB2ZXJ5IGNvbXBsaWNhdGVkCglmb3IgcGVyZm9ybWFuY2UgcmVhc29ucywgaG93ZXZlciwgaW4gbW9zdCBjYXNlcyBpdCBtYWRlIHBlcmZvcm1hbmNlCglldmVuIHdvcnNlLCBiZWNhdXNlIGF0IGlkbGUgdGltZXMgdGhlcmUgd2FzIHdheSB0b28gbXVjaCBjaGVja2luZwoJZ29pbmcgb24sIGFuZCBmdXJ0aGVybW9yZSwgc29tZXRpbWVzIHVubmVjZXNzYXJ5IHVwZGF0ZXMgd2VyZQoJaW5ldml0YWJsZS4gIFRoZSBjb2RlIG5vdyBpcyBtdWNoIG1vcmUgZWxlZ2FudDogdGhlIENsaWVudFJlYyBzdHJ1Y3R1cmUga25vd3MKCWV4YWN0bHkgd2hlcmUgaXQgbGFzdCBwYWludGVkIHRoZSBjdXJzb3IsIGFuZCB0aGUgU2NyZWVuSW5mbwoJc3RydWN0dXJlIGtub3dzIHdoZXJlIHRoZSBjdXJzb3Igc2hhbGwgYmUuICBBcyBhIGNvbnNlcXVlbmNlIHRoZXJlIGlzIG5vIG1vcmUgcmZiRHJhd0N1cnNvcigpL3JmYlVuZHJhd0N1cnNvcigpLAoJbm8gbW9yZSBkb250U2VuZEZyYW1lYnVmZmVyVXBkYXRlLCBhbmQgbm8gbW9yZSBpc0N1cnNvckRyYXduLiAgSXQgaXMKCW5vdyBwb3NzaWJsZSB0byBoYXZlIGNsaWVudHMgd2hpY2ggdW5kZXJzdGFuZCBDdXJzb3JTaGFwZSB1cGRhdGVzCglhbmQgY2xpZW50cyB3aGljaCBkb24ndCBhdCB0aGUgc2FtZSB0aW1lLiAgcmZiU2V0Q3Vyc29yIG5vIGxvbmdlciBoYXMgdGhlIG9wdGlvbiBmcmVlT2xkOyB0aGlzIGlzIG9ic29sZXRlLCBhcwoJdGhlIGN1cnNvciBzdHJ1Y3R1cmUga25vd3Mgd2hhdCB0byBmcmVlIGFuZCB3aGF0IG5vdC4KCjIwMDUtMDEtMTggIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci9yZmJyZWdpb24uYywgcmZiL3JmYnJlZ2lvbi5oOiBhZGQgY29udmVuaWVuY2UKCWZ1bmN0aW9uIHRvIGNsaXAgdXNpbmcgeDIseTIgaW5zdGVhZCBvZiB3LGgKCjIwMDUtMDEtMTggIGRzY2hvIDxkc2Nobz4KCgkqIHRlc3QvTWFrZWZpbGUuYW0sIHRlc3QvY3Vyc29ydGVzdC5jOiBhZGQgYSBjdXJzb3IgdGVzdAoJKGludGVyYWN0aXZlIGZvciBub3cpCgoyMDA1LTAxLTE4ICBkc2NobyA8ZHNjaG8+CgoJKiBWaXN1YWxOYUNyby8uY3ZzaWdub3JlOiBtb3JlIGlnbm9yYW5jZQoKMjAwNS0wMS0xNyAgZHNjaG8gPGRzY2hvPgoKCSogaW5kZXguaHRtbDogTGliVk5DQ2xpZW50IGlzIGluY2x1ZGVkCgoyMDA1LTAxLTE3ICBkc2NobyA8ZHNjaG8+CgoJKiBpbmRleC5odG1sOiBhbHBoYSBjdXJzb3IgYW5kIFZpc3VhbE5hQ3JvIG5ld3MKCjIwMDUtMDEtMTYgIGRzY2hvIDxkc2Nobz4KCgkqIFZpc3VhbE5hQ3JvLy5jdnNpZ25vcmU6IGlnbm9yZSBnZW5lcmF0ZWQgZmlsZXMKCjIwMDUtMDEtMTYgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyL2N1cnNvci5jLCByZmIvcmZiLmgsIHgxMXZuYy9DaGFuZ2VMb2csCgl4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmM6ICBhZGQgY3Vyc29yIGFscGhhYmxlbmRpbmcgdG8gcmZiLmggY3Vyc29yLmMsIHgxMXZuYyAtYWxwaGFibGVuZAoJIC1zbmFwZmIgZXRjLi4KCjIwMDUtMDEtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIFZpc3VhbE5hQ3JvL01ha2VmaWxlLmFtLCBWaXN1YWxOYUNyby9kZWZhdWx0OHgxNi5oLAoJVmlzdWFsTmFDcm8vbmFjcm8uYywgVmlzdWFsTmFDcm8vbmFjcm8uaCwgVmlzdWFsTmFDcm8vcmVjb3JkZXIucGw6IAoJZml4IG1vc3QgVE9ET3M7IHJlY29yZGVyLnBsIG5vdyBhY3R1YWxseSByZWNvcmRzIHNvbWV0aGluZzsgYWRkCgluYWNyby5wbSB0byBwYWNrYWdlCgoyMDA1LTAxLTE0ICBkc2NobyA8ZHNjaG8+CgoJKiBleGFtcGxlcy9leGFtcGxlLmM6IHJldmVydGVkIHNlZ2ZhdWx0IGZpeDsgdXNlIHJmYkRyYXdDaGFyV2l0aENsaXAKCjIwMDUtMDEtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci9mb250LmM6IGFkZCBjb21tZW50ICJpZiBjb2w9YmNvbCwgYXNzdW1lIGJhY2tncm91bmQKCWlzIHRyYW5zcGFyZW50IgoKMjAwNS0wMS0xNCAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jc2VydmVyL21haW4uYzogZml4IGNvbW1lbnQKCjIwMDUtMDEtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYzogY2xvc2Ugc29ja2V0IGluIENsaWVudENvbm5lY3Rpb25Hb25lCgoyMDA1LTAxLTE0ICBkc2NobyA8ZHNjaG8+CgoJKiBjb25maWd1cmUuYWM6IG5ldyB2ZXJzaW9uLi4uCgoyMDA1LTAxLTE0ICBkc2NobyA8ZHNjaG8+CgoJKiBWaXN1YWxOYUNyby9BVVRIT1JTLCBWaXN1YWxOYUNyby9DaGFuZ2VMb2csCglWaXN1YWxOYUNyby9NYWtlZmlsZS5hbSwgVmlzdWFsTmFDcm8vTkVXUywgVmlzdWFsTmFDcm8vUkVBRE1FLAoJVmlzdWFsTmFDcm8vYXV0b2dlbi5zaCwgVmlzdWFsTmFDcm8vY29uZmlndXJlLmFjLAoJVmlzdWFsTmFDcm8vbmFjcm8uYywgVmlzdWFsTmFDcm8vbmFjcm8uaCwgVmlzdWFsTmFDcm8vcmVjb3JkZXIucGw6IAoJVmlzdWFsTmFjcm8sIGEgdmlzdWFsIG1hY3JvIHJlY29yZGVyIGZvciBWTkMuIEFscGhhIHZlcnNpb24KCjIwMDUtMDEtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci9tYWluLmMsIHJmYi9yZmIuaDogcmV0dXJuIHZhbHVlIG9mIHJmYlByb2Nlc3NFdmVudHMKCXRlbGxzIGlmIGFuIHVwZGF0ZSB3YXMgcGVuZGluZwoKMjAwNS0wMS0xNCAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jc2VydmVyL2ZvbnQuYzogZml4IHNlZ2ZhdWx0IHdoZW4gdHJ5aW5nIHRvIHdyaXRlIG91dHNpZGUgb2YKCWZyYW1lQnVmZmVyCgoyMDA1LTAxLTE0ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmM6IGFyZ2MgYW5kIGFyZ3YgbWF5IGJlIHplcm8gKHdoaWNoIG1lYW5zCgl0byBpZ25vcmUgdGhlbSkKCjIwMDUtMDEtMDMgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci9tYWluLmMsIGxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgcmZiL3JmYi5oOiBhZGQgaG9vawoJdG8gYWxsb3cgZm9yIGN1c3RvbSBjbGllbnQgbWVzc2FnZXMKCjIwMDQtMTItMjcgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL3RreDExdm5jLAoJeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiBpbXByb3ZlIFhGSVhFUyBjdXJzb3IgdHJhbnNwYXJlbmN5LCBtb3JlIHJlbW90ZS1jb250cm9sCgkgY21kcy4KCjIwMDQtMTItMjMgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9SRUFETUUsIHgxMXZuYy94MTF2bmMuMSwgeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiBuZWVkIHRreDExdm5jIGFuZCB0a3gxMXZuYy5oIGluIHgxMXZuYyBwYWNrYWdlCgoyMDA0LTEyLTIzICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvTWFrZWZpbGUuYW06ICB4MTF2bmM6IG5lZWQgdGt4MTF2bmMgYW5kIHRreDExdm5jLmggaW4geDExdm5jIHBhY2thZ2UKCjIwMDQtMTItMjMgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9NYWtlZmlsZS5hbTogIHgxMXZuYzogbmVlZCB0a3gxMXZuYyBhbmQgdGt4MTF2bmMuaCBpbiB4MTF2bmMgcGFja2FnZQoKMjAwNC0xMi0yMyAgcnVuZ2UgPHJ1bmdlPgoKCSogcHJlcGFyZV94MTF2bmNfZGlzdC5zaCwgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwKCXgxMXZuYy90a3gxMXZuYywgeDExdm5jL3RreDExdm5jLmgsIHgxMXZuYy94MTF2bmMuMSwKCXgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogbWlub3IgdHdlYWtzIGZvciB4MTF2bmMgMC43IGZpbGUgcmVsZWFzZQoKMjAwNC0xMi0yMCAgZHNjaG8gPGRzY2hvPgoKCSogaW5kZXguaHRtbDogT29oLCBJJ20gbGF6eS4gU29tZSBuZXdzIHdlcmUgYWRkZWQgcmV0cm9hY3RpdmVseS4KCjIwMDQtMTItMjAgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgY29uZmlndXJlLmFjLCBpbmRleC5odG1sOiByZWxlYXNlZCAwLjcKCjIwMDQtMTItMjAgIGRzY2hvIDxkc2Nobz4KCgkqIGV4YW1wbGVzL21hYy5jOiBjb21waWxlIGZpeCBvbiBtYWM7IHN0aWxsIHVudGVzdGVkLi4uCgoyMDA0LTEyLTIwICBkc2NobyA8ZHNjaG8+CgoJKiB0ZXN0L01ha2VmaWxlLmFtOiBmaXggZm9yIE1pbkdXCgoyMDA0LTEyLTIwICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IG1pbm9yIHR3ZWFrcyBmb3IgMC43IGZpbGUgcmVsZWFzZQoKMjAwNC0xMi0yMCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBsaWJ2bmNzZXJ2ZXIvY3Vyc29yLmMsIHgxMXZuYy9DaGFuZ2VMb2csCgl4MTF2bmMvUkVBRE1FLCB4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IHN5bmNocm9ub3VzIG1vZGUgZm9yIC1yZW1vdGUsIHN0cmluZyBjbGVhbnVwCgoyMDA0LTEyLTE3ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXIvY3Vyc29yLmM6IGRvbid0IG1peCB1cCB3aWR0aCAmIGhlaWdodCEKCjIwMDQtMTItMTcgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgdGVzdC9lbmNvZGluZ3N0ZXN0LmMsIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy9SRUFETUUsCgl4MTF2bmMvdGt4MTF2bmMsIHgxMXZuYy90a3gxMXZuYy5oLCB4MTF2bmMveDExdm5jLjEsCgl4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IFhGSVhFUyBjdXJzb3JzaGFwZSwgWFJBTkRSIHJlc2l6ZSwgcmVtb3RlIGNvbnRyb2wsIGd1aQoKMjAwNC0xMi0wMSAgZHNjaG8gPGRzY2hvPgoKCSogcmZiL3JmYi5oOiBmaXggY29tcGlsYXRpb24gb24gbm9uIE1pbkdXMzIuLi4KCjIwMDQtMTItMDEgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgVE9ETywgY2xpZW50X2V4YW1wbGVzL01ha2VmaWxlLmFtLAoJY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jLCBjb25maWd1cmUuYWMsIGNvbnRyaWIvTWFrZWZpbGUuYW0sCglleGFtcGxlcy9NYWtlZmlsZS5hbSwgZXhhbXBsZXMvdm5jZXYuYywgbGlidm5jY2xpZW50L2xpc3Rlbi5jLAoJbGlidm5jY2xpZW50L3JmYnByb3RvLmMsIGxpYnZuY2NsaWVudC9zb2NrZXRzLmMsCglsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmMsIGxpYnZuY3NlcnZlci1jb25maWcuaW4sCglsaWJ2bmNzZXJ2ZXIvaHR0cGQuYywgbGlidm5jc2VydmVyL21haW4uYywgbGlidm5jc2VydmVyL3NvY2tldHMuYywKCXJmYi9yZmIuaCwgcmZiL3JmYnByb3RvLmgsIHRlc3QvTWFrZWZpbGUuYW0sIHZuY3Rlcm0vTWFrZWZpbGUuYW0sCgl4MTF2bmMvTWFrZWZpbGUuYW06IHN1cHBvcnQgTWluR1czMiEKCjIwMDQtMTItMDEgIGRzY2hvIDxkc2Nobz4KCgkqIEFVVEhPUlMsIGxpYnZuY2NsaWVudC9saXN0ZW4uYywgbGlidm5jY2xpZW50L3NvY2tldHMuYywKCWxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYzogdXNlIHJmYkNsaWVudEVyciB0byBsb2cgZXJyb3JzLCBjaGVjayBpZgoJY2FsbG9jIHN1Y2NlZGVkIChib3RoIGhpbnRlZCBieSBBbmRyZSBMZWlyYWRlbGxhKQoKMjAwNC0xMS0zMCAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBsaWJ2bmNjbGllbnQvc29ja2V0cy5jOiBmaXggbG9uZyByZWFkcyAoaW4gc29tZSBldmVudHMKCW9mIHN1Y2Nlc3MsIG5vIFRSVUUgd2FzIHJldHVybmVkKQoKMjAwNC0xMS0zMCAgZHNjaG8gPGRzY2hvPgoKCSogcmZiL3JmYnByb3RvLmg6IGFkZCBFbmNvZGluZ1VsdHJhOyBpdCBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlCglsaWJyYXJpZXMgeWV0LCBzbyB0aGlzIGlzIGp1c3QgYSBwbGFjZSBob2xkZXIKCjIwMDQtMTAtMTYgIGRzY2hvIDxkc2Nobz4KCgkqIFRPRE86IFRPRE9zIGZyb20gZW5jb2RpbmdzdGVzdAoKMjAwNC0xMC0xNiAgZHNjaG8gPGRzY2hvPgoKCSogdGVzdC8uY3ZzaWdub3JlOiB0aWdodC0xIC0+IGVuY29kaW5nc3Rlc3QKCjIwMDQtMTAtMTYgIGRzY2hvIDxkc2Nobz4KCgkqIHRlc3QvTWFrZWZpbGUuYW0sIHRlc3QvZW5jb2RpbmdzdGVzdC5jLCB0ZXN0L3RpZ2h0LTEuYzogcmVuYW1lCgl0aWdodC0xLmMgaW50byBlbmNvZGluZ3N0ZXN0LmMsIGZpeGluZyBpdCBpbiB0aGUgcHJvY2Vzcy4gSXQgbm93CglwYXNzZXMgYWxsIGVuY29kaW5ncyBleGNlcHQgY29ycmUgKGJyb2tlbikgYW5kIHpybGUgKG5vdCB5ZXQKCWltcGxlbWVudGVkIGluIGxpYnZuY2NsaWVudCkKCjIwMDQtMTAtMTYgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvc29ja2V0cy5jLAoJbGlidm5jY2xpZW50L3RpZ2h0LmMsIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywKCWxpYnZuY2NsaWVudC96bGliLmMsIHJmYi9yZmJjbGllbnQuaDogbW92ZSByZWFkIGJ1ZmZlciB0byByZmJDbGllbnQKCXN0cnVjdHVyZSAodGhyZWFkIHNhZmV0eSk7IG1ha2UgcmZiQ2xpZW50TG9nIG92ZXJyaWRlYWJsZQoKMjAwNC0xMC0xNSAgZHNjaG8gPGRzY2hvPgoKCSogdGVzdC90aWdodC0xLmM6IGNvbXBpbGVzLCAxc3QgcnVuIGlzIG9rYXksIDJuZCBhbmQgc3Vic2VxdWVudCBnaXZlCgllcnJvcnMuIEV2aWRlbnRseSwgbGlidm5jY2xpZW50IGlzIG5vdCB5ZXQgcmVlbnRyYW50IChvcgoJdGhyZWFkc2FmZSkuCgoyMDA0LTEwLTE1ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmM6IG5vIG5lZWQgdG8gbW9kaWZ5IGFyZ3YKCjIwMDQtMTAtMTUgIGRzY2hvIDxkc2Nobz4KCgkqIFRPRE86IGlkZWFzCgoyMDA0LTEwLTE1ICBkc2NobyA8ZHNjaG8+CgoJKiB0ZXN0L3RpZ2h0LTEuYzogY29tcGlsaW5nLCBub24gZnVuY3Rpb25hbCB2ZXJzaW9uIG9mIGEgdW5pdCB0ZXN0Cglmb3IgZW5jb2RpbmdzCgoyMDA0LTEwLTA0ICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPOiBjdXJzb3IgcHJvYmxlbQoKMjAwNC0xMC0wMiAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jc2VydmVyL3JmYnNlcnZlci5jOiByZWxlYXNlIGNsaWVudCBsaXN0IG11dGV4IGVhcmxpZXIKCjIwMDQtMDktMTQgIGRzY2hvIDxkc2Nobz4KCgkqIGluZGV4Lmh0bWwsIHN1Y2Nlc3MuaHRtbDogYWRkZWQgc3VjY2VzcyBzdG9yaWVzIGFuZCBsaW5rIHRvCgl4MTF2bmMncyBob21lCgoyMDA0LTA5LTE0ICBkc2NobyA8ZHNjaG8+CgoJKiBzdWNjZXNzLmh0bWw6IGFkZCBzdWNjZXNzIHN0b3JpZXMgKG9ubHkgb25lIGF0IHRoZSBtb21lbnQpCgoyMDA0LTA5LTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBpbmRleC5odG1sOiBuZXcgQVBJCgoyMDA0LTA5LTAzICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZicmVnaW9uLmM6IG91dHB1dCBvbmx5IHZpYSByZmJFcnIKCjIwMDQtMDktMDMgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY3NlcnZlci1jb25maWcuaW46IGxpYnZuY3NlcnZlci5hIGlzIGluIGxpYnZuY3NlcnZlci8gbm93CgoyMDA0LTA5LTAxICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsIHgxMXZuYy9DaGFuZ2VMb2csCgl4MTF2bmMvUkVBRE1FLCB4MTF2bmMveDExdm5jLjEsIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogbmV3IHBvaW50ZXIgaW5wdXQgaGFuZGxpbmcgYWxnb3JpdGhtOyB4MTF2bmMgcGtnIGluc3RhbGxzCgkgamF2YSB2aWV3ZXIKCjIwMDQtMDgtMzAgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZzogQVBJIGNoYW5nZXMKCjIwMDQtMDgtMzAgIGRzY2hvIDxkc2Nobz4KCgkqIGNvbnRyaWIvemlwcHkuYywgZXhhbXBsZXMvY29sb3VybWFwdGVzdC5jLCBleGFtcGxlcy9leGFtcGxlLmMsCglleGFtcGxlcy9wbm1zaG93LmMsIGV4YW1wbGVzL3BubXNob3cyNC5jLCBleGFtcGxlcy9zdG9yZXBhc3N3ZC5jLAoJZXhhbXBsZXMvdm5jZXYuYywgbGlidm5jY2xpZW50L3JmYnByb3RvLmMsIGxpYnZuY3NlcnZlci9hdXRoLmMsCglsaWJ2bmNzZXJ2ZXIvY2FyZ3MuYywgbGlidm5jc2VydmVyL2NvcnJlLmMsIGxpYnZuY3NlcnZlci9jdXJzb3IuYywKCWxpYnZuY3NlcnZlci9kM2Rlcy5jLCBsaWJ2bmNzZXJ2ZXIvZDNkZXMuaCwgbGlidm5jc2VydmVyL2ZvbnQuYywKCWxpYnZuY3NlcnZlci9oZXh0aWxlLmMsIGxpYnZuY3NlcnZlci9odHRwZC5jLCBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLAoJbGlidm5jc2VydmVyL3JmYnNlcnZlci5jLCBsaWJ2bmNzZXJ2ZXIvcnJlLmMsCglsaWJ2bmNzZXJ2ZXIvc2VsYm94LmMsIGxpYnZuY3NlcnZlci9zb2NrZXRzLmMsCglsaWJ2bmNzZXJ2ZXIvc3RhdHMuYywgbGlidm5jc2VydmVyL3RpZ2h0LmMsCglsaWJ2bmNzZXJ2ZXIvdHJhbnNsYXRlLmMsIGxpYnZuY3NlcnZlci92bmNhdXRoLmMsCglsaWJ2bmNzZXJ2ZXIvemxpYi5jLCBsaWJ2bmNzZXJ2ZXIvenJsZS5jLCByZmIvcmZiLmgsCglyZmIvcmZicHJvdG8uaCwgdGVzdC9jYXJnc3Rlc3QuYywgdGVzdC9jb3B5cmVjdHRlc3QuYywKCXZuY3Rlcm0vTGludXhWTkMuYywgdm5jdGVybS9WTkNvbnNvbGUuYywgdm5jdGVybS9WTkNvbnNvbGUuaCwKCXgxMXZuYy94MTF2bmMuYzogZ2xvYmFsIHN0cnVjdHVyZXMvZnVuY3Rpb25zIHNob3VsZCBoYXZlICJyZmIiLAoJInNyYSIgb3IgInpybGUiIGFzIHByZWZpeCwgd2hpbGUgc3RydWN0dXJlIG1lbWJlcnMgc2hvdWxkIG5vdAoKMjAwNC0wOC0zMCAgZHNjaG8gPGRzY2hvPgoKCSogY2xpZW50X2V4YW1wbGVzL01ha2VmaWxlLmFtOiBteSBmZm1wZWcgd2FzIGNvbXBpbGVkIHdpdGgKCW1wM2xhbWUuLi4KCjIwMDQtMDgtMzAgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY29uZmlndXJlLmFjLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvUkVBRE1FLAoJeDExdm5jL3gxMXZuYy4xLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IC1jdXJzb3IgY2hhbmdlIHNoYXBlIGhhbmRsaW5nLCBjb25maWd1cmUuYWM6IGFkZCBtb3JlCgkgbWFjcm9zIGZvciBYIGV4dGVuc2lvbnMKCjIwMDQtMDgtMTcgIGRzY2hvIDxkc2Nobz4KCgkqIGluZGV4Lmh0bWw6IG5ld3M6IFFFTVUgcGF0Y2ggdjYKCjIwMDQtMDgtMTUgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL1JFQURNRSwgeDExdm5jL3gxMXZuYy4xLAoJeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiAtb3ZlcmxheSB0byBmaXggY29sb3JzIHdpdGggU3VuIDgrMjQgb3ZlcmxheSB2aXN1YWxzLiAtc2lkCgkgb3B0aW9uLgoKMjAwNC0wOC0wNCAgcnVuZ2UgPHJ1bmdlPgoKCSogeDExdm5jL1JFQURNRSwgeDExdm5jL3gxMXZuYy4xOiAgZml4IFhLQmxpYi5oIGRldGVjdGlvbiBvbiAqQlNELCB4MTF2bmM6IG1hbnBhZ2UgYW5kIFJFQURNRQoKMjAwNC0wOC0wNCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIHByZXBhcmVfeDExdm5jX2Rpc3Quc2gsCgl4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvTWFrZWZpbGUuYW0sIHgxMXZuYy94MTF2bmMuYzogIGZpeCBYS0JsaWIuaCBkZXRlY3Rpb24gb24gKkJTRCwgeDExdm5jOiBtYW5wYWdlIGFuZCBSRUFETUUKCjIwMDQtMDctMzEgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogYWRqdXN0IHZlcnNpb24gbnVtYmVyIGFuZCBvdXRwdXQKCjIwMDQtMDctMzEgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiAtY3Vyc29ycG9zIG5vdyB0aGUgZGVmYXVsdCwgZml4IGN1cnNvcnBvcyArIHNjYWxpbmcgYnVnLgoKMjAwNC0wNy0yOSAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IC1hZGRfa2V5c3ltcyBkeW5hbWljYWxseSBhZGQgbWlzc2luZyBrZXlzeW1zIHRvIFggc2VydmVyCgoyMDA0LTA3LTI3ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogLXhrYiAoWEtFWUJPQVJEIG1vZHR3ZWFrKSwgLXNraXBfa2V5Y29kZXMsIG11bHRpIGxpbmVzIGluCgkgeDExdm5jcmMKCjIwMDQtMDctMTkgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogaWdub3JlIGtleXN5bXMgPjQgZm9yIGEga2V5Y29kZSwgYWRkIGxhc3Rtb2QgdG8gLWhlbHAsCgkgLXZlcnNpb24KCjIwMDQtMDctMTYgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY29uZmlndXJlLmFjLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMveDExdm5jLmM6ICBtb2R0d2VhayBpcyBub3cgdGhlIGRlZmF1bHQgZm9yIHgxMXZuYzsgY2hlY2sgWDExL1hLQmxpYi5oIGluCgkgY29uZmlndXJlLmFjCgoyMDA0LTA3LTExICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogLW5vcmVwZWF0IHRvIHR1cm4gb2ZmIFggc2VydmVyIGF1dG9yZXBlYXQgd2hlbiBjbGllbnRzCgkgZXhpc3QuCgoyMDA0LTA3LTA1ICBydW5nZSA8cnVuZ2U+CgoJKiB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IGV4dGVuZCAtYWxsb3cgdG8gcmUtcmVhZCBhIGZpbGUgd2l0aCBhbGxvd2VkIElQIGFkZHJlc3Nlcy4KCjIwMDQtMDctMDIgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogaW1wcm92ZSBzY2FsZWQgZ3JpZCBjYWxjIHRvIHJlZ2FpbiB0ZXh0IGNvbXByZXNzaW9uLiBhZGQKCSA6cGFkIG9wdGlvbgoKMjAwNC0wNi0zMCAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jOiBkbyBub3QgdXNlIEdOVS1vbmx5IGdldGxpbmUKCjIwMDQtMDYtMjggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogcm91bmQgc2NhbGVkIHdpZHRoIHRvIG11bHRpcGxlIG9mIDQgdG8gbWFrZSB2bmN2aWV3ZXIKCSBoYXBweS4KCjIwMDQtMDYtMjcgIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogc3BlZWQgdXAgc2NhbGluZyBhIGJpdCwgYWRkIG5vIGJsZW5kaW5nIG9wdGlvbiB0byAtc2NhbGUKCjIwMDQtMDYtMjYgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiBhZGQgIi1zY2FsZSBmcmFjdGlvbiIgZm9yIGdsb2JhbCBzZXJ2ZXItc2lkZSBzY2FsaW5nLgoKMjAwNC0wNi0xOCAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jc2VydmVyL3pybGVlbmNvZGV0ZW1wbGF0ZS5jLCB0ZXN0L3RpZ2h0LTEuYywKCXZuY3Rlcm0vTGludXhWTkMuYywgdm5jdGVybS9WTkNvbW1hbmQuYywgdm5jdGVybS9WTkNvbnNvbGUuYywKCXZuY3Rlcm0vZXhhbXBsZS5jOiBjb252ZXJ0IGMrKyBjb21tZW50cyB0byBjIGNvbW1lbnRzCgoyMDA0LTA2LTE4ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jOiBkZWJ1ZwoKMjAwNC0wNi0xOCAgZHNjaG8gPGRzY2hvPgoKCSogY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBjbGVhbnVwczsgbGlidm5jY2xpZW50IHN1cHBvcnRzCgktZW5jb2RpbmdzIGFscmVhZHkKCjIwMDQtMDYtMTggIGRzY2hvIDxkc2Nobz4KCgkqIGNsaWVudF9leGFtcGxlcy92bmMybXBnLmM6IGNsZWFudXBzOyBzdXBwb3J0IHZuY3JlYydvcmRlZCBmaWxlcyBhcwoJaW5wdXQKCjIwMDQtMDYtMTggIGRzY2hvIDxkc2Nobz4KCgkqIGV4YW1wbGVzL2V4YW1wbGUuYywgZXhhbXBsZXMvcG5tc2hvdy5jLCBleGFtcGxlcy9wbm1zaG93MjQuYzogbm93Cgl0aGF0IHRoZSBleGFtcGxlcyByZXNpZGUgaW4gYSBzdWJkaXJlY3RvcnksIHRoZSBjbGFzc2VzIHBhdGggaGFzIHRvCgliZSBhZGFwdGVkCgoyMDA0LTA2LTE4ICBkc2NobyA8ZHNjaG8+CgoJKiByZmIvcmZiY2xpZW50Lmg6IG1vcmUgY29tbWVudHM7IHN1cHBvcnQgcGxheWluZyB2bmNyZWMnb3JkZWQgZmlsZXMKCjIwMDQtMDYtMTggIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvc29ja2V0cy5jLAoJbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jOiBzdXBwb3J0IHBhc3N3b3JkIHJlYWRpbmcgd2l0aCBnZXRwYXNzKCk7CglzdXBwb3J0IC1wbGF5IHRvIHBsYXkgdm5jcmVjJ29yZGVkIGZpbGVzCgoyMDA0LTA2LTE3ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogc2ltcGxlIH4vLngxMXZuY3JjIGNvbmZpZyBmaWxlIHN1cHBvcnQsIC1yYywgLW5vcmMKCjIwMDQtMDYtMTUgIGRzY2hvIDxkc2Nobz4KCgkqIFRPRE86IGZpeGVkCgoyMDA0LTA2LTE1ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNjbGllbnQvaGV4dGlsZS5jOiBmaXggc2lsbHkgaGV4dGlsZSBidWcKCjIwMDQtMDYtMTUgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY2NsaWVudC9yZmJwcm90by5jOiByZWNvZ25pemUgbW9yZSBlbmNvZGluZ3MKCjIwMDQtMDYtMTUgIGRzY2hvIDxkc2Nobz4KCgkqIGxpYnZuY2NsaWVudC9zb2NrZXRzLmM6IGRlYnVnCgoyMDA0LTA2LTE1ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmM6IGZpeCBDb1JSRSB3aXRoIG1heFJlY3RzUGVyVXBkYXRlIGJ1ZwoKMjAwNC0wNi0xNSAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jY2xpZW50L3JmYnByb3RvLmM6IGZpeCBzaWxseSB1cGRhdGUgYnVnIHdpdGggcmF3IGVuY29kaW5nCgoyMDA0LTA2LTEyICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIHgxMXZuYy9DaGFuZ2VMb2csIHgxMXZuYy94MTF2bmMuYzogIHgxMXZuYzogLWNsZWFyX21vZHMgLWNsZWFyX2tleXMgLXN0b3JlcGFzc3dkLCBhZGQgUkZCX1NFUlZFUl9JUAoJIFJGQl9TRVJWRVJfUE9SVCB0byAtYWNjZXB0Ly1nb25lCgoyMDA0LTA2LTA4ICBkc2NobyA8ZHNjaG8+CgoJKiBjbGllbnRfZXhhbXBsZXMvTWFrZWZpbGUuYW0sIGNvbmZpZ3VyZS5hYzogZml4IGNvbXBpbGF0aW9uIG9uIElSSVgKCjIwMDQtMDYtMDggIGRzY2hvIDxkc2Nobz4KCgkqIGNvbmZpZ3VyZS5hYzogZml4IHRlc3QgZm9yIHNkbAoKMjAwNC0wNi0wOCAgZHNjaG8gPGRzY2hvPgoKCSogY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBmaXggY29tcGlsYXRpb24gb24gTWFjT1NYCgoyMDA0LTA2LTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBpbmRleC5odG1sOiBsYXlvdXQgYW5kIHdvcmRpbmcgZml4CgoyMDA0LTA2LTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBpbmRleC5odG1sOiBtb3JlIG5ld3MKCjIwMDQtMDYtMDcgIGRzY2hvIDxkc2Nobz4KCgkqIC5jdnNpZ25vcmUsIHByZXBhcmVfeDExdm5jX2Rpc3Quc2g6IG5vdyB0aGF0IGl0IGlzIHJlbGVhc2VkLAoJaW5jcmVtZW50IHgxMXZuYydzIHZlcnNpb24KCjIwMDQtMDYtMDcgIGRzY2hvIDxkc2Nobz4KCgkqIC5jdnNpZ25vcmUsIGNsaWVudF9leGFtcGxlcy8uY3ZzaWdub3JlLCBsaWJ2bmNjbGllbnQvLmN2c2lnbm9yZSwKCWxpYnZuY3NlcnZlci8uY3ZzaWdub3JlLCB0ZXN0Ly5jdnNpZ25vcmUsIHgxMXZuYy8uY3ZzaWdub3JlOiBhbGwKCXRoaXMgbW92aW5nIGFuZCByZW5hbWluZyBuZWVkcyBjaGFuZ2VzIGluIHRoZSBjdnNpZ25vcmVzLCB0b28hCgoyMDA0LTA2LTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBMaWJWTkNTZXJ2ZXIuc3BlYy5pbiwgTWFrZWZpbGUuYW0sIGxpYnZuY3NlcnZlci5zcGVjLmluLAoJcHJlcGFyZV94MTF2bmNfZGlzdC5zaDogZml4IGJ1ZyA5NjgyNjQ6IG1ha2UgcnBtIGRpZCBub3Qgd29yayB3aXRoCgl4MTF2bmMgcGFja2FnZQoKMjAwNC0wNi0wNyAgZHNjaG8gPGRzY2hvPgoKCSogY2xpZW50X2V4YW1wbGVzL01ha2VmaWxlLmFtLCBjbGllbnRfZXhhbXBsZXMvdm5jMm1wZy5jLAoJY29uZmlndXJlLmFjOiBhZGQgdm5jMm1wZywgYSBwcm9ncmFtIHdoaWNoIG1ha2VzIGEgbW92aWUgZnJvbSBhIFZOQwoJZGVza3RvcCB1c2luZyBGRk1QRUcKCjIwMDQtMDYtMDcgIGRzY2hvIDxkc2Nobz4KCgkqIFRPRE8sIGNsaWVudF9leGFtcGxlcy9TREx2bmN2aWV3ZXIuYzogYWRkZWQgLWVuY29kaW5ncwoKMjAwNC0wNi0wNyAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBUT0RPLCBsaWJ2bmNzZXJ2ZXIvY3Vyc29yLmMsIHJmYi9yZmIuaDogZml4IGN1cnNvcgoJdHJhaWxzICh3aGVuIG5vdCB1c2luZyBjdXJzb3IgZW5jb2RpbmcgYW5kIG1vdmluZyB0aGUgY3Vyc29yLCB0aGUKCXJlZHJhd24gcGFydCBvZiB0aGUgc2NyZWVuIGRpZG4ndCBnZXQgdXBkYXRlZCwgYW5kIHNvIGxlZnQgY3Vyc29yCgl0cmFpbHMpLgoKMjAwNC0wNi0wNyAgZHNjaG8gPGRzY2hvPgoKCSogY2xpZW50X2V4YW1wbGVzL1NETHZuY3ZpZXdlci5jOiBhZGQgbW91c2UgYnV0dG9uIGhhbmRsaW5nCgoyMDA0LTA2LTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIE1ha2VmaWxlLmFtLCBUT0RPLCBjbGllbnRfZXhhbXBsZXMvTWFrZWZpbGUuYW0sCgljbGllbnRfZXhhbXBsZXMvU0RMdm5jdmlld2VyLmMsIGNsaWVudF9leGFtcGxlcy9wcG10ZXN0LmMsCgljb25maWd1cmUuYWMsIGNvbnRyaWIvTWFrZWZpbGUuYW0sIGV4YW1wbGVzL01ha2VmaWxlLmFtLAoJZXhhbXBsZXMvYmxvb3B0ZXN0LmMsIGV4YW1wbGVzL2NvcHlyZWN0dGVzdC5jLAoJbGlidm5jY2xpZW50L01ha2VmaWxlLmFtLCBsaWJ2bmNjbGllbnQvY2xpZW50X3Rlc3QuYywKCWxpYnZuY2NsaWVudC9zb2NrZXRzLmMsIGxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywKCWxpYnZuY3NlcnZlci9NYWtlZmlsZS5hbSwgcHJlcGFyZV94MTF2bmNfZGlzdC5zaCwgcmZiL3JmYmNsaWVudC5oLAoJdGVzdC9NYWtlZmlsZS5hbSwgdGVzdC9ibG9vcHRlc3QuYywgdGVzdC9jb3B5cmVjdHRlc3QuYywKCXRlc3QvdGlnaHQtMS5jLCB4MTF2bmMvTWFrZWZpbGUuYW06IGFkZCBjbGllbnRfZXhhbXBsZXMvLCBhZGQKCVNETHZuY3ZpZXdlciwgbGlidm5jY2xpZW50IEFQSSBjaGFuZ2VzLCBzdXBwcmVzcyBhdXRvbWFrZSBDRkxBR1MKCW5hZ2dpbmcKCjIwMDQtMDYtMDYgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgeDExdm5jL0NoYW5nZUxvZywgeDExdm5jL3gxMXZuYy5jOiAgeDExdm5jOiByZWFycmFuZ2UgZmlsZSBmb3IgZWFzaWVyIG1haW50ZW5hbmNlLCBhZGQgUkZCX0NMSUVOVF9DT1VOVAoJIHRvIC1hY2NlcHQvLWdvbmUKCjIwMDQtMDUtMjggIHJ1bmdlIDxydW5nZT4KCgkqIHgxMXZuYy94MTF2bmMuYzogW25vIGxvZyBtZXNzYWdlXQoKMjAwNC0wNS0yNyAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBsaWJ2bmNzZXJ2ZXIvbWFpbi5jLCBsaWJ2bmNzZXJ2ZXIvcmZic2VydmVyLmMsCglwcmVwYXJlX3gxMXZuY19kaXN0LnNoLCB4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMveDExdm5jLmM6ICB4MTF2bmM6IHZpZXctb25seSBwbGFpbiBwYXNzd2Q6IC12aWV3cGFzc3dkIGFuZCAybmQgbGluZSBvZgoJIC1wYXNzd2RmaWxlCgoyMDA0LTA1LTI1ICBkc2NobyA8ZHNjaG8+CgoJKiBwcmVwYXJlX3gxMXZuY19kaXN0LnNoOiBhIHNjcmlwdCB3aGljaCBhdXRvbWF0aWNhbGx5IGNvbnZlcnRzIGEKCWZldyBmaWxlcyB0byBtYWtlIGFuIHgxMXZuYyByZWxlYXNlCgoyMDA0LTA1LTI1ICBkc2NobyA8ZHNjaG8+CgoJKiBjb25maWd1cmUuYWM6IC1sdm5jc2VydmVyIGlzIG5vdCBkZWZhdWx0IG5vdwoKMjAwNC0wNS0yNSAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBNYWtlZmlsZS5hbSwgYXV0aC5jLCBjYXJncy5jLCBjb25maWd1cmUuYWMsCgljb250cmliL0NoYW5nZUxvZywgY29udHJpYi9NYWtlZmlsZS5hbSwgY29udHJpYi94MTF2bmMuYywgY29ycmUuYywKCWN1cnNvci5jLCBjdXRwYXN0ZS5jLCBkM2Rlcy5jLCBkM2Rlcy5oLCBkcmF3LmMsCglleGFtcGxlcy9NYWtlZmlsZS5hbSwgZXhhbXBsZXMvcmVnaW9udGVzdC5jLCBmb250LmMsIGhleHRpbGUuYywKCWh0dHBkLmMsIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNzZXJ2ZXIvTWFrZWZpbGUuYW0sCglsaWJ2bmNzZXJ2ZXIvYXV0aC5jLCBsaWJ2bmNzZXJ2ZXIvY2FyZ3MuYywgbGlidm5jc2VydmVyL2NvbmZpZy5oLAoJbGlidm5jc2VydmVyL2NvcnJlLmMsIGxpYnZuY3NlcnZlci9jdXJzb3IuYywKCWxpYnZuY3NlcnZlci9jdXRwYXN0ZS5jLCBsaWJ2bmNzZXJ2ZXIvZDNkZXMuYywKCWxpYnZuY3NlcnZlci9kM2Rlcy5oLCBsaWJ2bmNzZXJ2ZXIvZHJhdy5jLCBsaWJ2bmNzZXJ2ZXIvZm9udC5jLAoJbGlidm5jc2VydmVyL2hleHRpbGUuYywgbGlidm5jc2VydmVyL2h0dHBkLmMsIGxpYnZuY3NlcnZlci9tYWluLmMsCglsaWJ2bmNzZXJ2ZXIvcmZiY29uZmlnLmgsIGxpYnZuY3NlcnZlci9yZmJyZWdpb24uYywKCWxpYnZuY3NlcnZlci9yZmJzZXJ2ZXIuYywgbGlidm5jc2VydmVyL3JyZS5jLAoJbGlidm5jc2VydmVyL3NlbGJveC5jLCBsaWJ2bmNzZXJ2ZXIvc29ja2V0cy5jLAoJbGlidm5jc2VydmVyL3N0YXRzLmMsIGxpYnZuY3NlcnZlci90YWJsZWluaXQyNC5jLAoJbGlidm5jc2VydmVyL3RhYmxlaW5pdGNtdGVtcGxhdGUuYywKCWxpYnZuY3NlcnZlci90YWJsZWluaXR0Y3RlbXBsYXRlLmMsCglsaWJ2bmNzZXJ2ZXIvdGFibGV0cmFuczI0dGVtcGxhdGUuYywKCWxpYnZuY3NlcnZlci90YWJsZXRyYW5zdGVtcGxhdGUuYywgbGlidm5jc2VydmVyL3RpZ2h0LmMsCglsaWJ2bmNzZXJ2ZXIvdHJhbnNsYXRlLmMsIGxpYnZuY3NlcnZlci92bmNhdXRoLmMsCglsaWJ2bmNzZXJ2ZXIvemxpYi5jLCBsaWJ2bmNzZXJ2ZXIvenJsZS5jLAoJbGlidm5jc2VydmVyL3pybGVlbmNvZGV0ZW1wbGF0ZS5jLCBsaWJ2bmNzZXJ2ZXIvenJsZW91dHN0cmVhbS5jLAoJbGlidm5jc2VydmVyL3pybGVvdXRzdHJlYW0uaCwgbGlidm5jc2VydmVyL3pybGVwYWxldHRlaGVscGVyLmMsCglsaWJ2bmNzZXJ2ZXIvenJsZXBhbGV0dGVoZWxwZXIuaCwgbGlidm5jc2VydmVyL3pybGV0eXBlcy5oLCBtYWluLmMsCglyZmJyZWdpb24uYywgcmZic2VydmVyLmMsIHJyZS5jLCBzZWxib3guYywgc29ja2V0cy5jLCBzdGF0cy5jLAoJdGFibGVpbml0MjQuYywgdGFibGVpbml0Y210ZW1wbGF0ZS5jLCB0YWJsZWluaXR0Y3RlbXBsYXRlLmMsCgl0YWJsZXRyYW5zMjR0ZW1wbGF0ZS5jLCB0YWJsZXRyYW5zdGVtcGxhdGUuYywgdGVzdC9NYWtlZmlsZS5hbSwKCXRpZ2h0LmMsIHRyYW5zbGF0ZS5jLCB2bmNhdXRoLmMsIHZuY3Rlcm0vTWFrZWZpbGUuYW0sCgl4MTF2bmMvQ2hhbmdlTG9nLCB4MTF2bmMvTWFrZWZpbGUuYW0sIHgxMXZuYy94MTF2bmMuYywgemxpYi5jLAoJenJsZS5jLCB6cmxlZW5jb2RldGVtcGxhdGUuYywgenJsZW91dHN0cmVhbS5jLCB6cmxlb3V0c3RyZWFtLmgsCgl6cmxlcGFsZXR0ZWhlbHBlci5jLCB6cmxlcGFsZXR0ZWhlbHBlci5oLCB6cmxldHlwZXMuaDogbW92ZSB0aGUKCWxpYnJhcnkgaW50byBsaWJ2bmNzZXJ2ZXIvLCB4MTF2bmMgaW50byB4MTF2bmMvCgoyMDA0LTA1LTIyICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbnRyaWIvQ2hhbmdlTG9nLCBjb250cmliL3gxMXZuYy5jLCBodHRwZC5jOiAgeDExdm5jOiAtZ29uZSwgLXBhc3N3ZGZpbGUsIC1vIGxvZ2ZpbGU7IGFkZCB2aWV3LW9ubHkgdG8gLWFjY2VwdAoKMjAwNC0wNS0xNCAgcnVuZ2UgPHJ1bmdlPgoKCSogY29udHJpYi94MTF2bmMuYzogIHgxMXZuYzogbW9yZSAtaW5ldGQgZml4ZXMuCgoyMDA0LTA1LTE0ICBydW5nZSA8cnVuZ2U+CgoJKiBjb250cmliL0NoYW5nZUxvZywgY29udHJpYi94MTF2bmMuYzogIHgxMXZuYzogbGVzcyBmcHJpbnRmIHVuZGVyIC1xIHNvICctcSAtaW5ldGQnIGhhcyBubyBzdGRlcnIgb3V0cHV0LgoKMjAwNC0wNS0xMyAgcnVuZ2UgPHJ1bmdlPgoKCSogY29udHJpYi9DaGFuZ2VMb2csIGNvbnRyaWIveDExdm5jLmM6ICB4MTF2bmM6IGltcHJvdmVtZW50cyB0byAtYWNjZXB0IHBvcHVwOiB5ZXMvbm8gYnV0dG9ucyBhbmQgdGltZW91dC4KCjIwMDQtMDUtMDggIHJ1bmdlIDxydW5nZT4KCgkqIGNvbnRyaWIvQ2hhbmdlTG9nLCBjb250cmliL3gxMXZuYy5jOiAgeDExdm5jOiBjbGVhbiB1cCAtV2FsbCB3YXJuaW5ncy4KCjIwMDQtMDUtMDggIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY29udHJpYi9DaGFuZ2VMb2csIGNvbnRyaWIveDExdm5jLmM6ICB4MTF2bmM6IGFkZCAtYWNjZXB0IHNvbWUtY29tbWFuZC94bWVzc2FnZS9wb3B1cAoKMjAwNC0wNS0wNiAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb250cmliL0NoYW5nZUxvZywgY29udHJpYi94MTF2bmMuYzogIHgxMXZuYzogbW91c2UgLT4ga2V5c3Ryb2tlIGFuZCBrZXlzdHJva2UgLT4gbW91c2UgcmVtYXBwaW5ncy4KCjIwMDQtMDUtMDUgIGRzY2hvIDxkc2Nobz4KCgkqIHJmYnNlcnZlci5jLCBzb2NrZXRzLmM6IHByZXZlbnQgc2VnbWVudGF0aW9uIGZhdWx0IHdoZW4gcmVxdWVzdGVkCglhcmVhIGlzIHRvbyBiaWc7IGlmIHNlbGVjdCBpcyBpbnRlcnJ1cHRlZCB3aGlsZSBXcml0ZUV4YWN0LCBqdXN0IHRyeQoJYWdhaW4uCgoyMDA0LTA0LTI4ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbnRyaWIvQ2hhbmdlTG9nLCBjb250cmliL3gxMXZuYy5jOiAgeDExdm5jOiBhZGQgLWF1dGgsIG1vcmUgLWN1cnNvcnBvcyBhbmQgLW5vZmIgd29yawoKMjAwNC0wNC0yMCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb250cmliL0NoYW5nZUxvZywgY29udHJpYi94MTF2bmMuYzogIHgxMXZuYzogYWRkIC1jdXJzb3Jwb3MgZm9yIEN1cnNvciBQb3NpdGlvbiBVcGRhdGVzLCBhbmQgLXNpZ3BpcGUKCjIwMDQtMDQtMTkgIGRzY2hvIDxkc2Nobz4KCgkqIG1haW4uYzogaWdub3JlIFNJR1BJUEUgdGhlIGNvcnJlY3Qgd2F5CgoyMDA0LTA0LTEzICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbnRyaWIvQ2hhbmdlTG9nLCBjb250cmliL3gxMXZuYy5jOiAgeDExdm5jOiBkbyBub3Qgc2VuZCBzZWxlY3Rpb24gdW5sZXNzIGFsbCBjbGllbnRzIGFyZSBpbiBSRkJfTk9STUFMCgkgc3RhdGUuICBpbmNyZWFzZSByZmJNYXhDbGllbnRXYWl0IHdoZW4gdGhyZWFkZWQgdG8gYXZvaWQKCVJlYWRFeGFjdCgpIHRpbWVvdXRzIGZvciBzb21lIHZpZXdlcnMuCgoyMDA0LTA0LTEyICBkc2NobyA8ZHNjaG8+CgoJKiBjb25maWd1cmUuYWM6IGZpeCBjb21waWxhdGlvbiB3aXRob3V0IGpwZWcgYW5kIGEgY2VydGFpbiBhdXRvY29uZgoJdmVyc2lvbgoKMjAwNC0wNC0wOCAgcnVuZ2UgPHJ1bmdlPgoKCSogQ2hhbmdlTG9nLCBjb25maWd1cmUuYWMsIGNvbnRyaWIvQ2hhbmdlTG9nLCBjb250cmliL3gxMXZuYy5jOiAgeDExdm5jIG9wdGlvbnMgLWJsYWNrb3V0LCAteGluZXJhbWEsIC14d2FycHBvaW50ZXIuICBjaGVjayBjYXJncy4gICBtb2RpZnkgY29uZmlndXJlLmFjIHRvIHBpY2sgdXAgLWxYaW5lcmFtYQoKMjAwNC0wMy0yNCAgZHNjaG8gPGRzY2hvPgoKCSogZXhhbXBsZXMvcG5tc2hvdy5jOiBhZGQgc3VwcG9ydCBmb3IgcGdtIGFuZCBwYm0gKDgtYml0IGFuZCAxLWJpdAoJZ3JheXNjYWxlIGltYWdlcykKCjIwMDQtMDMtMjIgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgY2FyZ3MuYywgdGVzdC9NYWtlZmlsZS5hbSwgdGVzdC9jYXJnc3Rlc3QuYzogZml4CgljYXJncy5jOiBhcmd1bWVudHMgd2VyZSBub3QgY29ycmVjdGx5IHB1cmdlZC4KCjIwMDQtMDMtMTUgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgbGlidm5jc2VydmVyLWNvbmZpZy5pbjogZml4IC0tbGluayBmb3IKCWxpYnZuY3NlcnZlci1jb25maWcKCjIwMDQtMDMtMTEgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY29udHJpYi9DaGFuZ2VMb2csIGNvbnRyaWIveDExdm5jLmM6ICB4MTF2bmMgb3B0aW9ucyAtdm5jY29ubmVjdCwgLWNvbm5lY3QsIC1yZW1hcCwgIC1kZWJ1Z19wb2ludGVyLCBhbmQgLWRlYnVnX2tleWJvYXJkICBhZGQgcmV2ZXJzZSBjb25uZWN0aW9ucywga2V5c3ltIHJlbWFwcGluZywgIGFuZCBkZWJ1ZyBvdXRwdXQgb3B0aW9uCgoyMDA0LTAyLTI5ICBkc2NobyA8ZHNjaG8+CgoJKiBpbmRleC5odG1sOiBsaW5rIHRvIHByZS50YXIuZ3osIG1lbnRpb24gdmFsZ3JpbmQKCjIwMDQtMDItMjkgIGRzY2hvIDxkc2Nobz4KCgkqIGluZGV4Lmh0bWw6IHVwZGF0ZSBvbiBuZXdzCgoyMDA0LTAyLTI5ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIHJmYnJlZ2lvbi5jOiBmaXhlZCB2YWxncmluZCB3YXJuaW5nCgoyMDA0LTAyLTIwICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbnRyaWIvQ2hhbmdlTG9nLCBjb250cmliL3gxMXZuYy5jOiAgeDExdm5jIG9wdGlvbnMgLW5vc2VsIC1ub3ByaW1hcnkgLXZpc3VhbC4gICBhZGQgY2xpcGJvYXJkL3NlbGVjdGlvbiBoYW5kbGluZy4gICBhZGQgdmlzdWFsIG9wdGlvbiAobW9zdGx5IGZvciB0ZXN0aW5nIGFuZCB3b3JrYXJvdW5kcykuICAgaW1wcm92ZSBzaG0gY2xlYW51cCBvbiBmYWlsdXJlcy4KCjIwMDQtMDItMDQgIGRzY2hvIDxkc2Nobz4KCgkqIEFVVEhPUlMsIENoYW5nZUxvZywgZXhhbXBsZXMvY29sb3VybWFwdGVzdC5jLAoJZXhhbXBsZXMvY29weXJlY3R0ZXN0LmMsIGV4YW1wbGVzL2V4YW1wbGUuYywgZXhhbXBsZXMvc2ltcGxlLmMsCglleGFtcGxlcy9zaW1wbGUxNS5jLCBleGFtcGxlcy92bmNldi5jOiBtYWtlIGV4YW1wbGVzIGcrKwoJY29tcGlsZWFibGUsIHRoYW5rcyB0byBKdWFuIEpvc2UgQ29zdGVsbG8KCjIwMDQtMDEtMzAgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZywgcmZic2VydmVyLmM6IG1lbW9yeSBsZWFrcyBmaXhlZAoKMjAwNC0wMS0yOSAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBNYWtlZmlsZS5hbSwgY29uZmlndXJlLmFjLCB0aWdodC5jLCB6bGliLmMsIHpybGUuYywKCXpybGVlbmNvZGV0ZW1wbGF0ZS5jLCB6cmxlb3V0c3RyZWFtLmMsIHpybGVvdXRzdHJlYW0uaCwKCXpybGVwYWxldHRlaGVscGVyLmMsIHpybGVwYWxldHRlaGVscGVyLmg6IEhvbm91ciB0aGUgY2hlY2sgZm9yIGxpYnosCglsaWJqcGVnIGFnYWluCgoyMDA0LTAxLTIxICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGNhcmdzLmMsIG1haW4uYywgcmZiL3JmYi5oLCByZmJzZXJ2ZXIuYzogYWRkCgkiLXByb2dyZXNzaXZlIGhlaWdodCIgb3B0aW9uIHRvIG1ha2UgU2VuZEZyYW1lYnVmZmVyVXBkYXRlCgkicHJlZW1wdGl2ZSIKCjIwMDQtMDEtMjEgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZzogdXBkYXRlCgoyMDA0LTAxLTIxICBkc2NobyA8ZHNjaG8+CgoJKiBleGFtcGxlcy8uY3ZzaWdub3JlOiBpZ25vcmUgYWxsIHRlc3QgcHJvZ3JhbXMKCjIwMDQtMDEtMjEgIGRzY2hvIDxkc2Nobz4KCgkqIGV4YW1wbGVzL01ha2VmaWxlLmFtLCBleGFtcGxlcy9jb3B5cmVjdHRlc3QuYzogYWRkIGEgc2ltcGxlCglleGFtcGxlIGhvdyB0byB1c2UgcmZiRG9Db3B5UmVjdAoKMjAwNC0wMS0yMSAgZHNjaG8gPGRzY2hvPgoKCSogbWFpbi5jLCByZmIvcmZiLmg6IGlnbm9yZSBTSUdQSVBFIGJ5IGRlZmF1bHQ7IGl0IGlzIGhhbmRsZWQgdmlhCglFUElQRQoKMjAwNC0wMS0yMSAgZHNjaG8gPGRzY2hvPgoKCSogY3Vyc29yLmM6IGRvIG5vdCBzZW5kIHVubmVjZXNzYXJ5IHVwZGF0ZWQgYmVjYXVzZSBvZiBjdXJzb3IKCWRyYXdpbmcKCjIwMDQtMDEtMTkgIHJ1bmdlIDxydW5nZT4KCgkqIENoYW5nZUxvZywgY29udHJpYi9DaGFuZ2VMb2csIGNvbnRyaWIveDExdm5jLmM6ICBoYW5kbGUgbW91c2UgYnV0dG9uIG51bWJlciBtaXNtYXRjaCAgaW1wcm92ZWQgcG9pbnRlciBpbnB1dCBoYW5kbGluZyBkdXJpbmcgZHJhZ3MsIGV0Yy4gICBzb21ld2hhdCBmYXN0ZXIgY29weV90aWxlcygpIC0+IGNvcHlfdGlsZXMoKSAgeDExdm5jIG9wdGlvbnMgLWJ1dHRvbm1hcCAtb2xkX3BvaW50ZXIgLW9sZF9jb3B5dGlsZQoKMjAwNC0wMS0xOSAgZHNjaG8gPGRzY2hvPgoKCSogY29uZmlndXJlLmFjOiAwLjYgaXMgb3V0Li4uIHZlcnNpb24gaXMgMC43cHJlIG5vdwoKMjAwNC0wMS0xOSAgZHNjaG8gPGRzY2hvPgoKCSogdm5jdGVybS9NYWtlZmlsZS5hbTogaW5oZXJpdCBDRkxBR1MKCjIwMDQtMDEtMTkgIGRzY2hvIDxkc2Nobz4KCgkqIHZuY3Rlcm0vVk5Db25zb2xlLmM6IGZpeCB1c2FnZSBvZiBub24tZXhpc3RlbnQgYXR0cmlidXRlIGJ1ZmZlcgoKMjAwNC0wMS0xNiAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBjYXJncy5jLCBjb25maWd1cmUuYWMsIGNvbnRyaWIvTWFrZWZpbGUuYW0sCglyZmJzZXJ2ZXIuYywgdm5jYXV0aC5jOiBjb21waWxlIGZpeCBmb3IgY3lnd2luCgoyMDA0LTAxLTEwICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbnRyaWIvQ2hhbmdlTG9nLCBjb250cmliL3gxMXZuYy5jOiAgeDExdm5jIG9wdGlvbnMgLWFsbG93LCAtbG9jYWxob3N0LCAtbm9kcmFnZ2luZywgLWlucHV0X3NraXAgIG1pbmltaXplIG1lbW9yeSB1c2FnZSB1bmRlciAtbm9mYgoKMjAwMy0xMi0wOSAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jY2xpZW50L2hleHRpbGUuYzogZml4IGNvbXBpbGF0aW9uIHdpdGggTWFjIE9TWDogcHJlcHJvY2Vzc29yCgljYW4ndCBkbyByZWN1cnNpdmUgbWFjcm9zCgoyMDAzLTEyLTA5ICBydW5nZSA8cnVuZ2U+CgoJKiBDaGFuZ2VMb2csIGNvbmZpZ3VyZS5hYywgY29udHJpYi9DaGFuZ2VMb2csIGNvbnRyaWIveDExdm5jLmM6IAoJeDExdm5jOiBYQmVsbCBldmVudHMsIC1ub2ZiLCAtbm90cnVlY29sb3IsIG1pc2MuIGNsZWFuaW5nCgoyMDAzLTExLTI3ICBkc2NobyA8ZHNjaG8+CgoJKiBpbmRleC5odG1sOiBmaXhlZCBsaW5rCgoyMDAzLTExLTExICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGNvbnRyaWIveDExdm5jLmM6IC1pbmV0ZCwgLW5vc2htIGFuZCBmcmllbmRzIGFkZGVkCgoyMDAzLTExLTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIFJFQURNRS5jdnMsIGNvbmZpZ3VyZS5hYzogcmVsZWFzZSAwLjYKCjIwMDMtMTAtMDggIGRzY2hvIDxkc2Nobz4KCgkqIHpybGUuYzogZml4IGdjYyAyLnggY29tcGlsYXRpb246IG5vIEM5OQoKMjAwMy0wOS0xMSAgbWFya21jIDxtYXJrbWM+CgoJKiBDaGFuZ2VMb2csIE1ha2VmaWxlLmluLCBhY2xvY2FsLm00LCBib290c3RyYXAuc2gsCgljbGFzc2VzLy5jdnNpZ25vcmUsIGNsYXNzZXMvTWFrZWZpbGUuaW4sIGNvbmZpZy5oLmluLCBjb25maWd1cmUsCgljb250cmliL01ha2VmaWxlLmluLCBkZXBjb21wLCBleGFtcGxlcy9NYWtlZmlsZS5pbiwgaW5zdGFsbC1zaCwKCWxpYnZuY2NsaWVudC9NYWtlZmlsZS5pbiwgbWlzc2luZywgbWtpbnN0YWxsZGlycywgdGVzdC8uY3ZzaWdub3JlLAoJdGVzdC9NYWtlZmlsZS5pbiwgdm5jdGVybS9NYWtlZmlsZS5pbjogMjAwMi0wOS0xMSAgTWFyayBNY0xvdWdobGluCgk8bWFya0Bza3luZXQuaWU+ICAgICAgICAgKiBNYWtlZmlsZS5pbiwgKi9NYWtlZmlsZS5pbiwgYWNsb2NhbC5tNCwgICAgICAgICAgIGJvb3RzdHJhcC5zaCwgY29uZmlnLmguaW4sIGNvbmZpZ3VyZSwgICAgICAgICAgIGRlcGNvbXAsIGluc3RhbGwtc2gsIG1pc3NpbmcsIG1raW5zdGFsbGRpcnMsICAgICAgICAgUmVtb3ZlZCBhdXRvLWdlbmVyYXRlZCBmaWxlcyBmcm9tIENWUy4KCjIwMDMtMDktMTEgIG1hcmttYyA8bWFya21jPgoKCSogQ2hhbmdlTG9nLCBORVdTLCByZHIvRXhjZXB0aW9uLmgsIHJkci9GZEluU3RyZWFtLmN4eCwKCXJkci9GZEluU3RyZWFtLmgsIHJkci9GZE91dFN0cmVhbS5jeHgsIHJkci9GZE91dFN0cmVhbS5oLAoJcmRyL0ZpeGVkTWVtT3V0U3RyZWFtLmgsIHJkci9JblN0cmVhbS5jeHgsIHJkci9JblN0cmVhbS5oLAoJcmRyL01lbUluU3RyZWFtLmgsIHJkci9NZW1PdXRTdHJlYW0uaCwgcmRyL051bGxPdXRTdHJlYW0uY3h4LAoJcmRyL051bGxPdXRTdHJlYW0uaCwgcmRyL091dFN0cmVhbS5oLCByZHIvWmxpYkluU3RyZWFtLmN4eCwKCXJkci9abGliSW5TdHJlYW0uaCwgcmRyL1psaWJPdXRTdHJlYW0uY3h4LCByZHIvWmxpYk91dFN0cmVhbS5oLAoJcmRyL3R5cGVzLmgsIHpybGUuY3h4LCB6cmxlRGVjb2RlLmgsIHpybGVFbmNvZGUuaDogMjAwMy0wOS0xMSAgTWFyawoJTWNMb3VnaGxpbiAgPG1hcmtAc2t5bmV0LmllPiAgICAgICAgICogcmRyL0V4Y2VwdGlvbi5oLCByZHIvRmRJblN0cmVhbS5jeHgsIHJkci9GZEluU3RyZWFtLmgsICAgICAgICAgICByZHIvRmRPdXRTdHJlYW0uY3h4LCByZHIvRmRPdXRTdHJlYW0uaCwKCSAgICAgICAgICByZHIvRml4ZWRNZW1PdXRTdHJlYW0uaCwgcmRyL0luU3RyZWFtLmN4eCwgcmRyL0luU3RyZWFtLmgsCgkgICAgICAgICAgcmRyL01lbUluU3RyZWFtLmgsIHJkci9NZW1PdXRTdHJlYW0uaCwgcmRyL051bGxPdXRTdHJlYW0uY3h4LAoJICAgICAgICAgIHJkci9OdWxsT3V0U3RyZWFtLmgsIHJkci9PdXRTdHJlYW0uaCwgcmRyL1psaWJJblN0cmVhbS5jeHgsCgkgICAgICAgICAgcmRyL1psaWJJblN0cmVhbS5oLCByZHIvWmxpYk91dFN0cmVhbS5jeHgsIHJkci9abGliT3V0U3RyZWFtLmgsCgkgICAgICAgICAgcmRyL3R5cGVzLmgsIHpybGUuY3h4LCB6cmxlRGVjb2RlLmgsIHpybGVFbmNvZGUuaDogcmVtb3ZlIG9yaWdpbmFsICAgICAgICAgQysrIFpSTEUgaW1wbGVtZW50YXRpb24uIEl0cyBiZWVuIHBvcnRlZCB0byBDLiAgICAgICAgICAqIE5FV1M6IGNvcHkgdGhlIGV4aXN0aW5nIENoYW5nZUxvZyB0byBoZXJlIGFuZCBtYWtlICAgICAgICAgdGhpcyBhIG1vcmUgZGV0YWlsZWQgQ2hhbmdlTG9nLgoKMjAwMy0wOS0wOCAgZHNjaG8gPGRzY2hvPgoKCSogQVVUSE9SUywgQ2hhbmdlTG9nLCBNYWtlZmlsZS5hbSwgTWFrZWZpbGUuaW4sIGF1dG9nZW4uc2gsCgljbGFzc2VzL01ha2VmaWxlLmluLCBjb25maWcuaC5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuYWMsCgljb250cmliL01ha2VmaWxlLmluLCBleGFtcGxlcy9NYWtlZmlsZS5pbiwKCWxpYnZuY2NsaWVudC9NYWtlZmlsZS5pbiwgcmZiL3JmYi5oLCByZmIvcmZicHJvdG8uaCwgcmZic2VydmVyLmMsCgl0ZXN0L01ha2VmaWxlLmluLCB2bmN0ZXJtL01ha2VmaWxlLmluLCB6cmxlLmMsCgl6cmxlZW5jb2RldGVtcGxhdGUuYywgenJsZW91dHN0cmVhbS5jLCB6cmxlb3V0c3RyZWFtLmgsCgl6cmxlcGFsZXR0ZWhlbHBlci5jLCB6cmxlcGFsZXR0ZWhlbHBlci5oLCB6cmxldHlwZXMuaDogWlJMRSBubwoJbG9uZ2VyIHVzZXMgQysrLCBidXQgQwoKMjAwMy0wOC0yOSAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBNYWtlZmlsZS5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuYWMsCglsaWJ2bmNjbGllbnQvTWFrZWZpbGUuaW4sIHRlc3QvTWFrZWZpbGUuaW4sIHZuY3Rlcm0vTWFrZWZpbGUuaW46IAoJYWRkZWQgLS1kaXNhYmxlLWN4eCBmbGFnIHRvIGNvbmZpZ3VyZQoKMjAwMy0wOC0xOCAgZHNjaG8gPGRzY2hvPgoKCSogY29udHJpYi94MTF2bmMuYzogS2FybCBSdW5nZTogOGJwcCBoYW5kbGluZyBub3cgbXVjaCBiZXR0ZXIsCglzaW5nbGUgd2luZG93IGFsc28sIG1hbnkgaW1wcm92ZW1lbnRzCgoyMDAzLTA4LTE4ICBkc2NobyA8ZHNjaG8+CgoJKiBodHRwZC5jLCBtYWluLmMsIHJmYnNlcnZlci5jLCBzb2NrZXRzLmM6IHNvY2tsZW5fdCAtPiBzaXplX3QKCjIwMDMtMDgtMTggIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLmluLCBhY2xvY2FsLm00LCBjbGFzc2VzL01ha2VmaWxlLmluLCBjb25maWcuaC5pbiwKCWNvbnRyaWIvTWFrZWZpbGUuaW4sIGV4YW1wbGVzL01ha2VmaWxlLmluLCB2bmN0ZXJtL01ha2VmaWxlLmluOiAKCXVzaW5nIGF1dG9jb25mIDEuNgoKMjAwMy0wOC0wOSAgZHNjaG8gPGRzY2hvPgoKCSogUkVBRE1FOiBhZGRlZCBQcm9qZWN0cyBzZWN0aW9uCgoyMDAzLTA4LTA4ICBkc2NobyA8ZHNjaG8+CgoJKiAuY3ZzaWdub3JlLCBjbGFzc2VzLy5jdnNpZ25vcmUsIGxpYnZuY2NsaWVudC8uY3ZzaWdub3JlLAoJdGVzdC8uY3ZzaWdub3JlOiBtb3JlIGZpbGVzIHRvIGlnbm9yZQoKMjAwMy0wOC0wOCAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jY2xpZW50L3JmYnByb3RvLmMsIGxpYnZuY2NsaWVudC90aWdodC5jLAoJbGlidm5jY2xpZW50L3psaWIuYywgbWFpbi5jLCByZmJzZXJ2ZXIuYzogbWFrZSAtLXdpdGhvdXQtanBlZywKCS0td2l0aG91dC16bGliIHdvcmsKCjIwMDMtMDgtMDggIGRzY2hvIDxkc2Nobz4KCgkqIEFVVEhPUlMsIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOiBhZGQgLS13aXRob3V0LWpwZWcsCgktLXdpdGhvdXQtemxpYjsgcmVwYWlyIC0td2l0aG91dC1iYWNrY2hhbm5lbCwgLS13aXRob3V0LTI0YnBwCgoyMDAzLTA4LTA4ICBkc2NobyA8ZHNjaG8+CgoJKiBodHRwZC5jLCBzb2NrZXRzLmM6IGhhbmRsZSBFSU5UUiBhZnRlciBzZWxlY3QoKQoKMjAwMy0wOC0wNiAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBhdXRoLmMsIGNvbnRyaWIveDExdm5jLmMsIGV4YW1wbGVzL2ZvbnRzZWwuYywKCWV4YW1wbGVzL21hYy5jLCBodHRwZC5jLCBtYWluLmMsIHJmYi9yZmIuaCwgcmZicmVnaW9uLmMsCglyZmJzZXJ2ZXIuYywgcnJlLmMsIHNvY2tldHMuYywgdHJhbnNsYXRlLmMsIHZuY3Rlcm0vTGludXhWTkMuYywKCXZuY3Rlcm0vVk5Db21tYW5kLmMsIHpsaWIuYzogcmZiRXJyIGludHJvZHVjZWQKCjIwMDMtMDgtMDMgIGRzY2hvIDxkc2Nobz4KCgkqIHJmYi9yZmJwcm90by5oOiBmb3Jnb3QgdG8gY2hhbmdlIFdPUkRTX0JJR0VORElBTiB0bwoJTElCVk5DU0VSVkVSX0JJR0VORElBTjsgI3VuZGVmIFZFUlNJT04gdW5uZWNjZXNzYXJ5Li4uCgoyMDAzLTA4LTAyICBkc2NobyA8ZHNjaG8+CgoJKiBjb25maWcuaC5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuYWM6IHJlYWxseSBjaGVjayBmb3Igc2V0c2lkLCBub3QKCXBncnAKCjIwMDMtMDgtMDIgIGRzY2hvIDxkc2Nobz4KCgkqIG1haW4uYzogb3Zlcmxvb2tlZCBlbmRpYW4gY29uZmlnLmggY29uc3RhbnQKCjIwMDMtMDgtMDIgIGRzY2hvIDxkc2Nobz4KCgkqIGNvbmZpZy5oLmluOiByZXF1aXJlZCBmaWxlCgoyMDAzLTA4LTAxICBkc2NobyA8ZHNjaG8+CgoJKiBSRUFETUUsIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOiBtZW50aW9uIE5FV1MgaW4gUkVBRE1FLCBhZGQKCWNoZWNrcyBmb3IgZm9yayBhbmQgc2V0cGdycAoKMjAwMy0wNy0zMSAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nOiBjcmVkaXQgbGFzdCB0d28gY2hhbmdlcyB0byBFcmlrCgoyMDAzLTA3LTMxICBkc2NobyA8ZHNjaG8+CgoJKiBtYWluLmMsIHJmYi9yZmIuaCwgc29ja2V0cy5jOiByZmJMb2cgY2FuIGJlIG92ZXJyaWRkZW47IEVJTlRSIG9uCglyZWFkL3dyaXRlIG1lYW5zIGp1c3QgdHJ5IGFnYWluCgoyMDAzLTA3LTMwICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZS5hbSwgTWFrZWZpbGUuaW4sIHJmYi9yZmIuaCwgcmZiL3JmYmNsaWVudC5oOiBhZGQKCXJmYmNsaWVudC5oIHRvIGRpc3RyaWJ1dGlvbjsgYXZvaWQgQysrIHN0eWxlIGNvbW1lbnRzCgoyMDAzLTA3LTMwICBkc2NobyA8ZHNjaG8+CgoJKiBBVVRIT1JTLCBDaGFuZ2VMb2csIE1ha2VmaWxlLmluLCBORVdTLCBSRUFETUUsIGFjaW5jbHVkZS5tNCwKCWFjbG9jYWwubTQsIGF1dGguYywgY2FyZ3MuYywgY2xhc3Nlcy9NYWtlZmlsZS5pbiwgY29uZmlndXJlLAoJY29uZmlndXJlLmFjLCBjb250cmliL01ha2VmaWxlLmluLCBjb250cmliL3gxMXZuYy5jLAoJY29udHJpYi96aXBweS5jLCBjb3JyZS5jLCBjdXJzb3IuYywgY3V0cGFzdGUuYywgZHJhdy5jLAoJZXhhbXBsZXMvTWFrZWZpbGUuaW4sIGV4YW1wbGVzL2V4YW1wbGUuYywgZXhhbXBsZXMvbWFjLmMsCglleGFtcGxlcy9wbm1zaG93LmMsIGV4YW1wbGVzL3BubXNob3cyNC5jLCBleGFtcGxlcy92bmNldi5jLCBmb250LmMsCgloZXh0aWxlLmMsIGh0dHBkLmMsIGxpYnZuY2NsaWVudC9NYWtlZmlsZS5pbiwgbGlidm5jY2xpZW50L2NvcnJlLmMsCglsaWJ2bmNjbGllbnQvY3Vyc29yLmMsIGxpYnZuY2NsaWVudC9oZXh0aWxlLmMsCglsaWJ2bmNjbGllbnQvbGlzdGVuLmMsIGxpYnZuY2NsaWVudC9yZmJwcm90by5jLCBsaWJ2bmNjbGllbnQvcnJlLmMsCglsaWJ2bmNjbGllbnQvc29ja2V0cy5jLCBsaWJ2bmNjbGllbnQvdGlnaHQuYywKCWxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywgbGlidm5jY2xpZW50L3psaWIuYywgbWFpbi5jLCByZmIvcmZiLmgsCglyZmIvcmZiY2xpZW50LmgsIHJmYi9yZmJjb25maWcuaC5pbiwgcmZiL3JmYnByb3RvLmgsCglyZmIvcmZicmVnaW9uLmgsIHJmYnJlZ2lvbi5jLCByZmJzZXJ2ZXIuYywgcnJlLmMsIHNlbGJveC5jLAoJc29ja2V0cy5jLCBzdGF0cy5jLCB0ZXN0L01ha2VmaWxlLmluLCB0aWdodC5jLCB0cmFuc2xhdGUuYywKCXZuY2F1dGguYywgdm5jdGVybS9MaW51eFZOQy5jLCB2bmN0ZXJtL01ha2VmaWxlLmluLAoJdm5jdGVybS9WTkNvbW1hbmQuYywgdm5jdGVybS9WTkNvbnNvbGUuYywgdm5jdGVybS9WTkNvbnNvbGUuaCwKCXpsaWIuYywgenJsZS5jeHg6IEFQSSBjaGFuZ2U6IEJvb2wsIEtleVN5bSwgUGl4ZWwgZ2V0IHByZWZpeCAicmZiIjsKCWNvbnN0YW50cyBpbiByZmJjb25maWcuaCBnZXQgcHJlZml4ICJMSUJWTkNTRVJWRVJfIgoKMjAwMy0wNy0yOSAgZHNjaG8gPGRzY2hvPgoKCSogY3Vyc29yLmMsIGxpYnZuY2NsaWVudC9jbGllbnRfdGVzdC5jLCBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywKCWxpYnZuY2NsaWVudC92bmN2aWV3ZXIuYywgbWFpbi5jLCByZmIvcmZiLmgsIHJmYi9yZmJjbGllbnQuaCwKCXRlc3QvdGlnaHQtMS5jLCB0aWdodC5jOiBmdXJ0aGVyIHZhbGdyaW5kaW5nIHNob3dlZCBsZWFrZWQgbWFsbG9jcwoKMjAwMy0wNy0yOCAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBSRUFETUUuY3ZzOiBhZGFwdGVkIGRveAoKMjAwMy0wNy0yOCAgZHNjaG8gPGRzY2hvPgoKCSogbGlidm5jY2xpZW50L01ha2VmaWxlOiBpcyBhdXRvY29uZmVkIG5vdwoKMjAwMy0wNy0yOCAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUuYW0sIE1ha2VmaWxlLmluLCBhY2xvY2FsLm00LCBjbGFzc2VzL01ha2VmaWxlLmluLAoJY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGNvbnRyaWIvTWFrZWZpbGUuaW4sIGNvbnRyaWIveDExdm5jLmMsCgljb250cmliL3ppcHB5LmMsIGV4YW1wbGVzLzFpbnN0YW5jZS5jLCBleGFtcGxlcy9NYWtlZmlsZS5pbiwKCWV4YW1wbGVzL2ZvbnRzZWwuYywgZXhhbXBsZXMvbWFjLmMsIGV4YW1wbGVzL3BubXNob3cuYywKCWV4YW1wbGVzL3BubXNob3cyNC5jLCBleGFtcGxlcy92bmNldi5jLCBsaWJ2bmNjbGllbnQvTWFrZWZpbGUsCglsaWJ2bmNjbGllbnQvTWFrZWZpbGUuYW0sIGxpYnZuY2NsaWVudC9NYWtlZmlsZS5pbiwKCWxpYnZuY2NsaWVudC9jbGllbnRfdGVzdC5jLCBsaWJ2bmNjbGllbnQvY29ycmUuYywKCWxpYnZuY2NsaWVudC9saXN0ZW4uYywgbGlidm5jY2xpZW50L3JmYnByb3RvLmMsIGxpYnZuY2NsaWVudC9ycmUuYywKCWxpYnZuY2NsaWVudC9zb2NrZXRzLmMsIGxpYnZuY2NsaWVudC90aWdodC5jLAoJbGlidm5jY2xpZW50L3ZuY3ZpZXdlci5jLCBsaWJ2bmNjbGllbnQvemxpYi5jLCBtYWluLmMsCglyZHIvRmRJblN0cmVhbS5jeHgsIHJkci9abGliT3V0U3RyZWFtLmN4eCwgcmZiL3JmYi5oLAoJcmZiL3JmYmNsaWVudC5oLCByZmIvcmZiY29uZmlnLmguaW4sIHJmYnJlZ2lvbi5jLCByZmJzZXJ2ZXIuYywKCXRlc3QvTWFrZWZpbGUuYW0sIHRlc3QvTWFrZWZpbGUuaW4sIHRlc3QvdGlnaHQtMS5jLCB0aWdodC5jLAoJdm5jdGVybS9MaW51eFZOQy5jLCB2bmN0ZXJtL01ha2VmaWxlLmluLCB2bmN0ZXJtL1ZOQ29tbWFuZC5jLAoJdm5jdGVybS9WTkNvbnNvbGUuYywgdm5jdGVybS9leGFtcGxlLmM6IGZpeGVkIG1heFJlY3RzUGVyVXBkYXRlIHdpdGgKCVRpZ2h0IGVuY29kaW5nIGJ1Zzsgc29tZSBhdXRvY29uZmluZzsgc3RkZXJyIHNob3VsZCBub3QgYmUgdXNlZCBpbiBhCglsaWJyYXJ5ICh1c2UgcmZiTG9nIGluc3RlYWQpCgoyMDAzLTA3LTI4ICBkc2NobyA8ZHNjaG8+CgoJKiB0ZXN0L3RpZ2h0LTEuYzogZmlyc3QgYmVnaW5uaW5ncyBvZiBhdXRvbWF0aWMgdGVzdHMsIHRoYW5rcyB0bwoJbGlidm5jY2xpZW50CgoyMDAzLTA3LTI4ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIFRPRE8sIG1haW4uYywgcmZiL3JmYi5oLCByZmIvcmZicmVnaW9uLmgsIHJmYnJlZ2lvbi5jLAoJcmZic2VydmVyLmMsIHNvY2tldHMuYywgdGlnaHQuYywgdm5jYXV0aC5jOiBzeW5jZWQgd2l0aCBUaWdodFZOQyBhbmQKCVJlYWxWTkMKCjIwMDMtMDctMjggIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLmFtLCBNYWtlZmlsZS5pbiwgZXhhbXBsZXMvTWFrZWZpbGUuYW0sCglleGFtcGxlcy9NYWtlZmlsZS5pbjogZGVidWcgZmxhZ3MKCjIwMDMtMDctMjcgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZzogbGlidm5jY2xpZW50CgoyMDAzLTA3LTI3ICBkc2NobyA8ZHNjaG8+CgoJKiBsaWJ2bmNjbGllbnQvTWFrZWZpbGUsIGxpYnZuY2NsaWVudC9jb3JyZS5jLAoJbGlidm5jY2xpZW50L2N1cnNvci5jLCBsaWJ2bmNjbGllbnQvaGV4dGlsZS5jLAoJbGlidm5jY2xpZW50L2xpc3Rlbi5jLCBsaWJ2bmNjbGllbnQvcmZicHJvdG8uYywgbGlidm5jY2xpZW50L3JyZS5jLAoJbGlidm5jY2xpZW50L3NvY2tldHMuYywgbGlidm5jY2xpZW50L3RpZ2h0LmMsCglsaWJ2bmNjbGllbnQvdm5jdmlld2VyLmMsIGxpYnZuY2NsaWVudC96bGliLmMsIHJmYi9yZmJjbGllbnQuaCwKCXZuY2F1dGguYzogZmlyc3QgYWxwaGEgdmVyc2lvbiBvZiBsaWJ2bmNjbGllbnQKCjIwMDMtMDctMjcgIGRzY2hvIDxkc2Nobz4KCgkqIHJmYi9yZmIuaCwgcmZiL3JmYnByb3RvLmgsIHZuY2F1dGguYzogbWFrZSB2bmNhdXRoIHVzYWJsZSBhbHNvIGZvcgoJdXBjb21pbmcgbGlidm5jY2xpZW50CgoyMDAzLTA3LTI1ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGV4YW1wbGVzLy5jdnNpZ25vcmUsIGV4YW1wbGVzL01ha2VmaWxlLmFtLAoJZXhhbXBsZXMvTWFrZWZpbGUuaW4sIGV4YW1wbGVzL3NpbXBsZS5jLCBleGFtcGxlcy9zaW1wbGUxNS5jLAoJaW5kZXguaHRtbDogQWRkZWQgc2ltcGxlIGV4YW1wbGVzCgoyMDAzLTA3LTExICBkc2NobyA8ZHNjaG8+CgoJKiByZmIvcmZiY29uZmlnLmgsIHJmYi9yZmJpbnQuaDogdGhlc2UgZmlsZXMgYXJlIGdlbmVyYXRlZCBieQoJY29uZmlndXJlCgoyMDAzLTA3LTExICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIGh0dHBkLmM6IGxvbmcgc3RhbmRpbmcgYnVnIGluIGh0dHA7IHdhcyBzZW5kaW5nIC5qYXIKCXR3aWNlCgoyMDAzLTA3LTEwICBkc2NobyA8ZHNjaG8+CgoJKiBJTlNUQUxMLCBNYWtlZmlsZS5pbiwgYWNsb2NhbC5tNCwgY2xhc3Nlcy9NYWtlZmlsZS5pbiwgY29uZmlndXJlLAoJY29udHJpYi9NYWtlZmlsZS5pbiwgZGVwY29tcCwgZXhhbXBsZXMvTWFrZWZpbGUuaW4sIGluc3RhbGwtc2gsCgltaXNzaW5nLCBta2luc3RhbGxkaXJzLCByZmIvcmZiY29uZmlnLmgsIHJmYi9yZmJjb25maWcuaC5pbiwKCXJmYi9yZmJpbnQuaCwgcmZiL3N0YW1wLWguaW4sIHZuY3Rlcm0vTWFrZWZpbGUuaW46IGFub3RoZXIgdHJ5IHRvCgltYWtlIENWUyBtb3JlIGhlbHBmdWwgd2l0aCBjb25maWd1cmUKCjIwMDMtMDctMTAgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLmFtLCBjbGFzc2VzL01ha2VmaWxlLmFtLCBjb25maWd1cmUuYWM6IGFsc28gZGlzdHJpYnV0ZQoJY2xhc3Nlcy8gZGlyZWN0b3J5CgoyMDAzLTA3LTEwICBkc2NobyA8ZHNjaG8+CgoJKiBjYXJncy5jOiBmaXggY29tcGlsZQoKMjAwMy0wNi0yOCAgZHNjaG8gPGRzY2hvPgoKCSogQ2hhbmdlTG9nLCBjYXJncy5jOiBodHRwIG9wdGlvbnMgaW5zZXJ0ZWQKCjIwMDMtMDUtMDUgIGRzY2hvIDxkc2Nobz4KCgkqIGNvbmZpZ3VyZS5hYzogZml4IGFtX19mYXN0ZGVwQ1hYIGZvciBzeXN0ZW0gbm90IGhhdmluZyBaTElCCgoyMDAzLTA0LTAzICBkc2NobyA8ZHNjaG8+CgoJKiBjb250cmliL0NoYW5nZUxvZzogYWRkZWQgQ2hhbmdlTG9nIGZvciB4MTF2bmMKCjIwMDMtMDQtMDMgIGRzY2hvIDxkc2Nobz4KCgkqIGNvbnRyaWIveDExdm5jLmM6IG5ldyB2ZXJzaW9uIGZyb20gS2FybCEKCjIwMDMtMDItMjggIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLmFtLCBjb25maWd1cmUuYWMsIGxpYnZuY3NlcnZlci1jb25maWcuaW46IGxldAoJbGlidm5jc2VydmVyLWNvbmZpZyBiZWhhdmUgYXMgZXhwZWN0ZWQgd2hlbiBjYWxsZWQgd2l0aG91dAoJaW5zdGFsbGluZwoKMjAwMy0wMi0yNyAgZHNjaG8gPGRzY2hvPgoKCSogUkVBRE1FLmN2czogYWRkZWQgc29tZSBkb2N1bWVudGF0aW9uIGhvdyB0byBjb21waWxlIGZyb20gQ1ZTCglzb3VyY2VzCgoyMDAzLTAyLTIxICBkc2NobyA8ZHNjaG8+CgoJKiByZmIvcmZiLmg6ICNpbmNsdWRlIDxyZmIvcmZicmVnaW9uLmg+IGluc3RlYWQgb2YgI2luY2x1ZGUKCSJyZmJyZWdpb24uaCIKCjIwMDMtMDItMjAgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZzogdXBkYXRlIENoYW5nZUxvZwoKMjAwMy0wMi0yMCAgZHNjaG8gPGRzY2hvPgoKCSogaW5kZXguaHRtbDogI2luY2x1ZGUgPHJmYi9yZmIuaD4gaW5zdGVhZCBvZiAicmZiLmgiCgoyMDAzLTAyLTIwICBkc2NobyA8ZHNjaG8+CgoJKiBjb250cmliL01ha2VmaWxlLmFtLCBjb250cmliL3gxMXZuYy5jLCBjb250cmliL3ppcHB5LmMsCglleGFtcGxlcy9NYWtlZmlsZS5hbSwgZXhhbXBsZXMvY29sb3VybWFwdGVzdC5jLCBleGFtcGxlcy9leGFtcGxlLmMsCglleGFtcGxlcy9mb250c2VsLmMsIGV4YW1wbGVzL21hYy5jLCBleGFtcGxlcy9wbm1zaG93LmMsCglleGFtcGxlcy9wbm1zaG93MjQuYywgZXhhbXBsZXMvc3RvcmVwYXNzd2QuYywgZXhhbXBsZXMvdm5jZXYuYywKCWxpYnZuY3NlcnZlci1jb25maWcuaW4sIHZuY3Rlcm0vTWFrZWZpbGUuYW0sIHZuY3Rlcm0vVk5Db25zb2xlLmg6IAoJdGhlIGNvcnJlY3Qgd2F5IHRvIGluY2x1ZGUgcmZiLmggaXMgbm93ICIjaW5jbHVkZSA8cmZiL3JmYi5oPiIKCjIwMDMtMDItMTkgIGRzY2hvIDxkc2Nobz4KCgkqIGluZGV4Lmh0bWw6IHdlYnBhZ2UgdXBkYXRlCgoyMDAzLTAyLTE5ICBkc2NobyA8ZHNjaG8+CgoJKiByZmIvLmN2c2lnbm9yZTogZm9yZ290dGVuIC5jdnNpZ25vcmUKCjIwMDMtMDItMTkgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLmFtOiBmaXhlZCBoZWFkZXIgaW5zdGFsbGF0aW9uIGludG8gJChwcmVmaXgpL2luY2x1ZGUvcmZiCgoyMDAzLTAyLTE4ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZS5hbSwgY29uZmlndXJlLmFjLCBpbmNsdWRlLy5jdnNpZ25vcmUsCglpbmNsdWRlL2RlZmF1bHQ4eDE2LmgsIGluY2x1ZGUva2V5c3ltLmgsIGluY2x1ZGUvcmZiLmgsCglpbmNsdWRlL3JmYnByb3RvLmgsIGluY2x1ZGUvcmZicmVnaW9uLmgsIHJmYi9kZWZhdWx0OHgxNi5oLAoJcmZiL2tleXN5bS5oLCByZmIvcmZiLmgsIHJmYi9yZmJwcm90by5oLCByZmIvcmZicmVnaW9uLmg6IG1vdmVkCglpbmNsdWRlLyB0byByZmIvCgoyMDAzLTAyLTE4ICBkc2NobyA8ZHNjaG8+CgoJKiBzb2NrZXRzLmM6IGZpeGVkIGEgYnVnIHdoZW4gY2xvc2luZyBhIGNsaWVudCBpZiBubyBsb25nZXIKCWxpc3RlbmluZyBmb3IgbmV3IGNsaWVudHMuCgoyMDAzLTAyLTE3ICBkc2NobyA8ZHNjaG8+CgoJKiBjdXJzb3IuYywgaW5jbHVkZS9yZmIuaDogZXhwb3J0IHJmYlJldmVyc2VCeXRlczsgdW5kZWZpbmUgVkVSU0lPTiwKCWJlY2F1c2UgaXQncyB0b28gY29tbW9uCgoyMDAzLTAyLTE3ICBkc2NobyA8ZHNjaG8+CgoJKiBJTlNUQUxMOiBJTlNUQUxMIGlzIGNvcGllZCBieSBhdXRvbWFrZQoKMjAwMy0wMi0xNyAgZHNjaG8gPGRzY2hvPgoKCSogSU5TVEFMTDogSU5TVEFMTCB3YXMgbWlzc2luZwoKMjAwMy0wMi0xNiAgZHNjaG8gPGRzY2hvPgoKCSogY29uZmlndXJlLmFjLCBsaWJ2bmNzZXJ2ZXItY29uZmlnLmluOiBmaXhlZCAtLWxpbmsgb3B0aW9uIHRvCglsaWJ2bmNzZXJ2ZXItY29uZmlnCgoyMDAzLTAyLTEwICBkc2NobyA8ZHNjaG8+CgoJKiBjdnNfdXBkYXRlX2Fub255bW91c2x5LCBpbmNsdWRlL3JmYnByb3RvLmg6IGN2cyBtb3JlIGZsZXhpYmxlIG5vdzsKCVpSTEUgZW5jb2Rpbmcgb25seSB3aGVuIEhBVkVfWlJMRSBkZWZpbmVkCgoyMDAzLTAyLTEwICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2csIHJmYnNlcnZlci5jOiByZWFsbHkgZml4ZWQgQ2xpZW50Q29ubmVjdGlvbkdvbmUgcHJvYmxlbQoKMjAwMy0wMi0xMCAgZHNjaG8gPGRzY2hvPgoKCSogdm5jdGVybS9MaW51eFZOQy5jLCB2bmN0ZXJtL1ZOQ29uc29sZS5jOiBmaXhlZCBMaW51eFZOQyBjb2xvdXJzCgoyMDAzLTAyLTEwICBkc2NobyA8ZHNjaG8+CgoJKiBtYWluLmMsIHJmYnNlcnZlci5jOiBmaXhlZCBhIGJ1ZyB0aGF0IHByZXZlbnRlZCB0aGUgZmlyc3QKCWNvbm5lY3Rpb24gdG8gYmUgY2xvc2VkCgoyMDAzLTAyLTEwICBkc2NobyA8ZHNjaG8+CgoJKiBpbmNsdWRlL3JmYi5oOiBmaXhlZCBwdGhyZWFkIGRlYnVnZ2luZyAobG9ja3MuLi4pCgoyMDAzLTAyLTEwICBkc2NobyA8ZHNjaG8+CgoJKiBjb250cmliL01ha2VmaWxlLmFtLCBleGFtcGxlcy9NYWtlZmlsZS5hbSwgdm5jdGVybS9NYWtlZmlsZS5hbTogCglmaXhlZCBkZXBlbmRlY3kgdG8gbGlidm5jc2VydmVyLmE7IGlmIHRoZSBsaWIgaXMgbmV3ZXIsIHRoZSBwcm9ncmFtcwoJYXJlIHJlbGlua2VkCgoyMDAzLTAyLTEwICBkc2NobyA8ZHNjaG8+CgoJKiBnbzogcmVtb3ZlZCBzdXBlcmZsdW91cyBmaWxlCgoyMDAzLTAyLTEwICBkc2NobyA8ZHNjaG8+CgoJKiBleGFtcGxlcy8uY3ZzaWdub3JlLCBleGFtcGxlcy9NYWtlZmlsZS5hbSwKCWV4YW1wbGVzL2NvbG91cm1hcHRlc3QuYywgdm5jdGVybS9WTkNvbnNvbGUuYzogYWRkZWQKCWNvbG91cm1hcGV4YW1wbGU7IGZpeGVkIExpbnV4Vk5DIHRvIHNob3cgdGhlIHJpZ2h0IGNvbG91cnMKCjIwMDMtMDItMDkgIGRzY2hvIDxkc2Nobz4KCgkqIENoYW5nZUxvZzogdm5jdGVybSBpbXBvcnRlZCwgcG9ydGluZyBpc3N1ZXMgc29sdmVkIChJUklYLCBPUyBYLAoJU29sYXJpcykKCjIwMDMtMDItMDkgIGRzY2hvIDxkc2Nobz4KCgkqIGNvbmZpZ3VyZS5hYywgZXhhbXBsZXMvTWFrZWZpbGUuYW0sIGV4YW1wbGVzL21hYy5jLAoJdm5jdGVybS9NYWtlZmlsZS5hbSwgdm5jdGVybS9WTkNvbW1hbmQuYzogc3VwcG9ydCBmb3IgT1MgWCBpcyBiZXR0ZXIKCW5vdwoKMjAwMy0wMi0wOSAgZHNjaG8gPGRzY2hvPgoKCSogY29uZmlndXJlLmFjLCBleGFtcGxlcy9NYWtlZmlsZS5hbTogdHJ5aW5nIGFnYWluIHRvIHN1cHBvcnQgT1MgWAoKMjAwMy0wMi0wOSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUuYW0sIGNvbmZpZ3VyZS5hYywgZXhhbXBsZXMvLmN2c2lnbm9yZSwKCXZuY3Rlcm0vLmN2c2lnbm9yZSwgdm5jdGVybS9DaGFuZ2VMb2csIHZuY3Rlcm0vTGludXhWTkMuYywKCXZuY3Rlcm0vTWFrZWZpbGUuYW0sIHZuY3Rlcm0vUkVBRE1FLCB2bmN0ZXJtL1RPRE8sCgl2bmN0ZXJtL1ZOQ29tbWFuZC5jLCB2bmN0ZXJtL1ZOQ29uc29sZS5jLCB2bmN0ZXJtL1ZOQ29uc29sZS5oLAoJdm5jdGVybS9leGFtcGxlLmMsIHZuY3Rlcm0vdmdhLmg6IGluY2x1ZGVkIHZuY3Rlcm0KCjIwMDMtMDItMDkgIGRzY2hvIDxkc2Nobz4KCgkqIC5jdnNpZ25vcmUsIGNvbmZpZ3VyZS5hYywgZXhhbXBsZXMvbWFjLmMsIG1hYy5jOiBtb3ZlZCB0aGUKCU9TWHZuYy1zZXJ2ZXIgdG8gZXhhbXBsZXM7IElSSVggZml4ZXMgKG5vdCByZWFsbHkgSVJJWCwgYnV0IHNob3dzCgl0aGVyZSkKCjIwMDMtMDItMDkgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLmFtLCBleGFtcGxlcy9NYWtlZmlsZS5hbSwgZXhhbXBsZXMvcmVnaW9udGVzdC5jLAoJZXhhbXBsZXMvc3JhdGVzdC5jLCBpbmNsdWRlL3JmYnJlZ2lvbi5oLCBtYWluLmMsIHJmYnJlZ2lvbi5jLAoJcmZic2VydmVyLmMsIHNyYVJlZ2lvbi5jLCBzcmFSZWdpb24uaCwgdHJhbnNsYXRlLmM6IHJlbmFtZWQKCXNyYVJlZ2lvbiB0byByZmJyZWdpb24gYW5kIHB1dCBpdCBpbiBpbmNsdWRlLzsgd2lsbCBiZSBpbnN0YWxsZWQgbm93CgoyMDAzLTAyLTA5ICBkc2NobyA8ZHNjaG8+CgoJKiBDaGFuZ2VMb2c6IHBvcnRhYmlsaXR5IGNoYW5nZXMKCjIwMDMtMDItMDkgIGRzY2hvIDxkc2Nobz4KCgkqIGNvbmZpZ3VyZS5hYzogb3JkZXIgb2YgWCBsaWJyYXJpZXMgaXMgbm90IGdvb2QgZm9yIElSSVgKCjIwMDMtMDItMDkgIGRzY2hvIDxkc2Nobz4KCgkqIGNvbmZpZ3VyZS5hYywgbWFpbi5jOiBpbmNsdWRlIG9yZGVyIHdhcyB3cm9uZwoKMjAwMy0wMi0wOSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUuaW4sIGNvbmZpZ3VyZSwgY29udHJpYi9NYWtlZmlsZS5pbiwgZXhhbXBsZXMvTWFrZWZpbGUuaW46IAoJc291cmNlIGZyb20gQ1ZTIGFsd2F5cyB3aWxsIG5lZWQgYSBjdXJyZW50IGF1dG9jb25mL2F1dG9tYWtlCgoyMDAzLTAyLTA5ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZS5pbiwgYWNpbmNsdWRlLm00LCBjb25maWd1cmUsIGNvbnRyaWIvTWFrZWZpbGUuaW4sCglleGFtcGxlcy9NYWtlZmlsZS5pbjogSSBnaXZlIHVwIHN1cHBvcnRpbmcgb2xkIGF1dG9jb25mL2F1dG9tYWtlOwoJbm93IHJlcXVpcmUgYXQgbGVhc3QgMi41MgoKMjAwMy0wMi0wOSAgZHNjaG8gPGRzY2hvPgoKCSogYWNpbmNsdWRlLm00OiBtb3JlIG1hY3JvcyBpbmNsdWRlZCBmb3Igb2xkZXIgYXV0b2NvbmYvYXV0b21ha2UKCjIwMDMtMDItMDkgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLmFtLCBUT0RPLCBhY2luY2x1ZGUubTQsIGF1dGguYywgY29uZmlndXJlLmFjLAoJY29udHJpYi94MTF2bmMuYywgY29ycmUuYywgY3Vyc29yLmMsIGN1dHBhc3RlLmMsIGhleHRpbGUuYywKCWh0dHBkLmMsIGluY2x1ZGUvLmN2c2lnbm9yZSwgaW5jbHVkZS9yZmIuaCwgaW5jbHVkZS9yZmJwcm90by5oLAoJbWFpbi5jLCByZmJzZXJ2ZXIuYywgcnJlLmMsIHNvY2tldHMuYywgc3JhUmVnaW9uLmMsIHN0YXRzLmMsCgl0YWJsZWluaXQyNC5jLCB0YWJsZWluaXRjbXRlbXBsYXRlLmMsIHRhYmxlaW5pdHRjdGVtcGxhdGUuYywKCXRhYmxldHJhbnMyNHRlbXBsYXRlLmMsIHRhYmxldHJhbnN0ZW1wbGF0ZS5jLCB0aWdodC5jLCB0cmFuc2xhdGUuYywKCXZuY2F1dGguYywgemxpYi5jLCB6cmxlLmN4eDogY29udmVydGVkIENBUkR7OCwxNiwzMn0gdG8KCXVpbnR7OCwxNiwzMn1fdCBhbmQgaW5jbHVkZWQgc3VwcG9ydCBmb3Igc3RkaW50LmgKCjIwMDMtMDItMDkgIGRzY2hvIDxkc2Nobz4KCgkqIC5jdnNpZ25vcmU6IGlnbm9yZSBsaWJ2bmNzZXJ2ZXItY29uZmlnCgoyMDAzLTAyLTA5ICBkc2NobyA8ZHNjaG8+CgoJKiBjb25maWd1cmUuYWMsIGluY2x1ZGUvcmZiLmgsIG1haW4uYzogYmlnZW5kaWFuIGlzIG5vdyBkZXRlcm1pbmVkCglhdCBjb25maWd1cmUgdGltZQoKMjAwMy0wMi0wOSAgZHNjaG8gPGRzY2hvPgoKCSogaW5kZXguaHRtbDogYWRkZWQgd2Vic2l0ZQoKMjAwMy0wMi0wOSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUuYW0sIGNvbmZpZ3VyZS5hYzogc21hbGwgYWRqdXN0bWVudHMgZm9yIGF1dG9jb25mL2F1dG9tYWtlCgljb21wYXRpYmlsaXR5CgoyMDAzLTAyLTA5ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZS5hbSwgY29uZmlndXJlLmFjLCBjb250cmliL01ha2VmaWxlLmFtLAoJZXhhbXBsZXMvTWFrZWZpbGUuYW0sIGV4YW1wbGVzL3ZuY2V2LmMsIGxpYnZuY3NlcnZlci1jb25maWcuaW4sCglsaWJ2bmNzZXJ2ZXIuc3BlYy5pbjogbWFrZSBkaXN0IGZpeGVkOyBtYWtlIHJwbSBpbnRyb2R1Y2VkCgoyMDAzLTAyLTA4ICBkc2NobyA8ZHNjaG8+CgoJKiAuY3ZzaWdub3JlLCBNYWtlZmlsZSwgYm9vdHN0cmFwLnNoLCBjb250cmliLy5jdnNpZ25vcmUsCgljb250cmliL01ha2VmaWxlLCBleGFtcGxlcy8uY3ZzaWdub3JlLCBleGFtcGxlcy9NYWtlZmlsZTogcmVtb3ZlZAoJTWFrZWZpbGVzOyB0aGVzZSBhcmUgZ2VuZXJhdGVkIG5vdwoKMjAwMy0wMi0wOCAgZHNjaG8gPGRzY2hvPgoKCSogLmN2c2lnbm9yZSwgY29udHJpYi8uY3ZzaWdub3JlLCBleGFtcGxlcy8uY3ZzaWdub3JlLAoJbGlidm5jc2VydmVyLnNwZWMuaW46IGlnbm9yZSBnZW5lcmF0ZWQgZmlsZXMKCjIwMDMtMDItMDggIGRzY2hvIDxkc2Nobz4KCgkqIGNvbnRyaWIvLmN2c2lnbm9yZSwgZXhhbXBsZXMvLmN2c2lnbm9yZSwgZXhhbXBsZXMvYmxvb3B0ZXN0LmMsCglleGFtcGxlcy9zcmF0ZXN0LmMsIGluY2x1ZGUvLmN2c2lnbm9yZTogbWlzc2luZyBmaWxlcwoKMjAwMy0wMi0wOCAgZHNjaG8gPGRzY2hvPgoKCSogQVVUSE9SUywgQ0hBTkdFUywgQ2hhbmdlTG9nLCBORVdTLCBUT0RPOiBmdXJ0aGVyIGF1dG9jb25mJ2luZwoKMjAwMy0wMi0wOCAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIE1ha2VmaWxlLmFtLCBUT0RPLCBib290c3RyYXAuc2gsIGNvbmZpZ3VyZS5hYywKCWNvbnRyaWIvTWFrZWZpbGUsIGNvbnRyaWIvTWFrZWZpbGUuYW0sIGV4YW1wbGVzL01ha2VmaWxlLAoJZXhhbXBsZXMvTWFrZWZpbGUuYW0sIGV4YW1wbGVzL2V4YW1wbGUuYywgaW5jbHVkZS9yZmIuaCwKCWluY2x1ZGUvcmZicHJvdG8uaCwgbWFpbi5jLCByZmJzZXJ2ZXIuYywgc29ja2V0cy5jLCB0aWdodC5jLAoJemxpYi5jLCB6cmxlLmNjLCB6cmxlLmN4eDogYXV0b2NvbmYnZWQgZXZlcnl0aGluZwoKMjAwMy0wMi0wNyAgZHNjaG8gPGRzY2hvPgoKCSogZXhhbXBsZXMvLmN2c2lnbm9yZSwgZXhhbXBsZXMvcmFkb24uaDogYWRkZWQgZmlsZXMKCjIwMDMtMDItMDcgIGRzY2hvIDxkc2Nobz4KCgkqIGN2c191cGRhdGVfYW5vbnltb3VzbHksIGV4YW1wbGVzL01ha2VmaWxlOiBhZGRlZCBNYWtlZmlsZSBpbgoJZXhhbXBsZXM7ICJleHBvcnQiIGluIGN2c191cGRhdGVfYW5vbnltb3VzbHkKCjIwMDMtMDItMDcgIGRzY2hvIDxkc2Nobz4KCgkqIDFpbnN0YW5jZS5jLCBNYWtlZmlsZSwgY29udHJpYi9NYWtlZmlsZSwgY29udHJpYi96aXBweS5jLAoJZGVmYXVsdDh4MTYuaCwgZXhhbXBsZXMvMWluc3RhbmNlLmMsIGV4YW1wbGVzL3BubXNob3cyNC5jLAoJaW5jbHVkZS9kZWZhdWx0OHgxNi5oLCBpbmNsdWRlL2tleXN5bS5oLCBpbmNsdWRlL3JmYi5oLAoJaW5jbHVkZS9yZmJwcm90by5oLCBrZXlzeW0uaCwgbWFpbi5jLCByYWRvbi5oLCByZmIuaCwgcmZicHJvdG8uaDogCgltb3ZlZCBmaWxlcyB0byBpbmNsdWRlOyBtb3ZlZCBhIGZpbGUgdG8gZXhhbXBsZXMvCgoyMDAzLTAyLTA3ICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTLCBleGFtcGxlLmMsIGV4YW1wbGUuZHNwLCBleGFtcGxlcy9leGFtcGxlLmMsCglleGFtcGxlcy9leGFtcGxlLmRzcCwgZXhhbXBsZXMvZm9udHNlbC5jLCBleGFtcGxlcy9wbm1zaG93LmMsCglleGFtcGxlcy9wbm1zaG93MjQuYywgZXhhbXBsZXMvc3RvcmVwYXNzd2QuYywgZXhhbXBsZXMvdm5jZXYuYywKCWZvbnRzZWwuYywgcG5tc2hvdy5jLCBwbm1zaG93MjQuYywgc3RvcmVwYXNzd2QuYywgdm5jZXYuYzogbW92ZWQKCWZpbGVzIHRvIGNvbnRyaWIvIGFuZCBleGFtcGxlcy8KCjIwMDItMTItMzAgIGRzY2hvIDxkc2Nobz4KCgkqIENIQU5HRVMsIGNhcmdzLmM6IGZpeGVkIGNhcmdzIChzZWdtZW50YXRpb24gZmF1bHQhKQoKMjAwMi0xMi0yNSAgZHNjaG8gPGRzY2hvPgoKCSogY29udHJpYi94MTF2bmMuYzogc3RyYW5nZSwgYnV0IHN0YW5kYXJkIFgxMSBiZWhhdmlvdXIgZnJvbSBTdW4KCWtleW1hcHBpbmdzLi4uCgoyMDAyLTEyLTIwICBkc2NobyA8ZHNjaG8+CgoJKiBjb250cmliL3gxMXZuYy5jOiBpbmNsdWRlIGNvbW1lbnRlZCBkZWJ1ZyBmdW5jdGlvbmFsaXR5CgoyMDAyLTEyLTIwICBkc2NobyA8ZHNjaG8+CgoJKiBjb250cmliL3gxMXZuYy5jOiBBbHRHciBmaXhlcyBpbiB4MTF2bmMsIHJlbmFtZWQgZnJvbSBhbHRnciB0bwoJbW9kdHdlYWsKCjIwMDItMTItMjAgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlOiBmaXhlZCBjb21waWxhdGlvbiBmb3IgemlwcHkKCjIwMDItMTItMjAgIGRzY2hvIDxkc2Nobz4KCgkqIGNvbnRyaWIvTWFrZWZpbGU6IE1ha2VmaWxlIGZvciBjb250cmliCgoyMDAyLTEyLTE5ICBkc2NobyA8ZHNjaG8+CgoJKiBjb250cmliL3gxMXZuYy5jLCBjb250cmliL3ppcHB5LmM6IG5ldyB2ZXJzaW9uIG9mIHgxMXZuYyBmcm9tIEthcmwKCVJ1bmdlCgoyMDAyLTEyLTE1ICBkc2NobyA8ZHNjaG8+CgoJKiBjb250cmliL3gxMXZuYy5jOiBzbWFsbCBmaXhlczogaW4gWDExL1hsaWIuaCBCb29sIGlzIGludCAoS2FybAoJUnVuZ2UpOyBpbmRleGVkIGNvbG91ciBzdXBwb3J0CgoyMDAyLTEyLTE1ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZSwgcmZic2VydmVyLmM6IGZpeDogaWYgbm8gQ1hYIGlzIGRlZmluZWQsIHJlYWxseSBkb24ndCB1c2UKCXpybGUgKEthcmwgUnVuZ2UpCgoyMDAyLTEyLTA2ICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTLCBNYWtlZmlsZSwgY29udHJpYi94MTF2bmMuYywgY29udHJpYi96aXBweS5jLCBodHRwZC5jLAoJbWFpbi5jLCByZmIuaCwgeDExdm5jLmMsIHppcHB5LmM6IGNvbXBpbGVyIHdhcm5pbmdzLCBjb250cmliCglkaXJlY3RvcnksIG5ldyB4MTF2bmMgZnJvbSBLYXJsIFJ1bmdlCgoyMDAyLTEwLTI5ICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTLCBtYWluLmMsIHJmYnNlcnZlci5jOiBmaXhlZCBzZXZlcmUgYnVnIHdpdGggc2VuZGluZwoJZmJ1cGRhdGVzCgoyMDAyLTEwLTI5ICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTLCBSRUFETUUsIGN1cnNvci5jLCBtYWluLmMsIHJmYi5oLCByZmJwcm90by5oLAoJcmZic2VydmVyLmMsIHN0YXRzLmM6IHBhdGNoIGZyb20gQ29uc3QgZm9yIEN1cnNvclBvc1VwZGF0ZSBlbmNvZGluZwoKMjAwMi0xMC0yMiAgZHNjaG8gPGRzY2hvPgoKCSogcmRyL0V4Y2VwdGlvbi5oLCByZHIvRmRJblN0cmVhbS5jeHgsIHJkci9GZEluU3RyZWFtLmgsCglyZHIvRmRPdXRTdHJlYW0uY3h4LCByZHIvRmRPdXRTdHJlYW0uaCwgcmRyL0ZpeGVkTWVtT3V0U3RyZWFtLmgsCglyZHIvSW5TdHJlYW0uY3h4LCByZHIvSW5TdHJlYW0uaCwgcmRyL01lbUluU3RyZWFtLmgsCglyZHIvTWVtT3V0U3RyZWFtLmgsIHJkci9OdWxsT3V0U3RyZWFtLmN4eCwgcmRyL051bGxPdXRTdHJlYW0uaCwKCXJkci9PdXRTdHJlYW0uaCwgcmRyL1psaWJJblN0cmVhbS5jeHgsIHJkci9abGliSW5TdHJlYW0uaCwKCXJkci9abGliT3V0U3RyZWFtLmN4eCwgcmRyL1psaWJPdXRTdHJlYW0uaCwgcmRyL3R5cGVzLmg6IHJkcgoKMjAwMi0xMC0yMiAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIGNvcnJlLmMsIGN2c191cGRhdGVfYW5vbnltb3VzbHksIGh0dHBkLmMsIG1haW4uYywKCXJmYi5oLCByZmJwcm90by5oLCByZmJzZXJ2ZXIuYywgc3RhdHMuYywgenJsZS5jYywgenJsZURlY29kZS5oLAoJenJsZUVuY29kZS5oOiB1cGRhdGVkIHRvIHZuYy0zLjMuNCAoWlJMRSBlbmNvZGluZykKCjIwMDItMDgtMzEgIGRzY2hvIDxkc2Nobz4KCgkqIHgxMXZuYy5jOiBwYXRjaCBmb3IgSVJJWAoKMjAwMi0wOC0zMSAgZHNjaG8gPGRzY2hvPgoKCSogY3ZzX3VwZGF0ZV9hbm9ueW1vdXNseSwgaHR0cGQuYywgcmZic2VydmVyLmMsIHZuY2F1dGguYzogc29ja2V0Cgl2aWEgcHJveHkgZ2V0cyBvcHRpb25zIHNldCwgY29tcGlsZXIgd2FybmluZyBmaXhlcwoKMjAwMi0wOC0zMSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIGN2c191cGRhdGVfYW5vbnltb3VzbHksIGh0dHBkLmMsIG1hYy5jLCBwbm1zaG93MjQuYywKCXZuY2V2LmMsIHgxMXZuYy5jLCB6aXBweS5jOiBjb21waWxlciB3YXJuaW5ncyBhbmQgZm9ybWF0Cgl2dWxuZXJhYmlsaXRpZXMgZml4ZWQKCjIwMDItMDgtMjcgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBodHRwZC5jOiBJUklYIGNoYW5nZXMKCjIwMDItMDgtMjIgIGRzY2hvIDxkc2Nobz4KCgkqIENIQU5HRVM6IGNoYW5nZXMKCjIwMDItMDgtMjIgIGRzY2hvIDxkc2Nobz4KCgkqIGNsYXNzZXMvamF2YXZpZXdlci5wc2V1ZG9fcHJveHkucGF0Y2gsIGV4YW1wbGUuYywgaHR0cGQuYywKCW1haW4uYywgcmZiLmg6IGEgcHNldWRvIEhUVFAgcmVxdWVzdCBmb3IgdHVubmVsbGluZyAoYWxzbyB2aWEgc3RyaWN0CglXZWIgUHJveHkpIHdhcyBhZGRlZC4KCjIwMDItMDgtMjIgIGRzY2hvIDxkc2Nobz4KCgkqIGNsYXNzZXMvaW5kZXgudm5jLCBodHRwZC5jLCB2bmNhdXRoLmM6IHN5bmNocm9uaXplZCB3aXRoIHRpZ2h0Vk5DCgkxLjIuNQoKMjAwMi0wOC0xOSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIGF1dGguYywgY3Vyc29yLmMsIGV4YW1wbGUuYywgaHR0cGQuYywgbWFpbi5jLAoJcG5tc2hvdy5jLCByZmIuaCwgcmZic2VydmVyLmMsIHNyYVJlZ2lvbi5jLCBzcmFSZWdpb24uaCwgdGlnaHQuYywKCXZuY2F1dGguYzogdW53YXJuIGNvbXBpbGF0aW9uCgoyMDAyLTA3LTI4ICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTLCBSRUFETUU6IHByZXBhcmUgZm9yIHZlcnNpb24gMC40CgoyMDAyLTA3LTI4ICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTLCBjbGFzc2VzL2luZGV4LnZuYywgZXhhbXBsZS5jLCBodHRwZC5jLCBtYWluLmMsIHJmYi5oLAoJcmZicHJvdG8uaCwgcmZic2VydmVyLmMsIHN0YXRzLmM6IE5ld0ZCIGVuY29kaW5nIGFkZGVkCgoyMDAyLTA2LTEzICBkc2NobyA8ZHNjaG8+CgoJKiBtYWluLmMsIHJmYnNlcnZlci5jLCBzb2NrZXRzLmM6IHB0aHJlYWQgZml4CgoyMDAyLTA1LTAzICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZSwgcmZiLmg6IHNvbGFyaXMgZml4ZXMgKElOQUREUl9OT05FKQoKMjAwMi0wNS0wMiAgZHNjaG8gPGRzY2hvPgoKCSogc2VsYm94LmM6IGluZGV4IHdhcyBzaGFkb3dlZAoKMjAwMi0wNS0wMiAgZHNjaG8gPGRzY2hvPgoKCSogY3Vyc29yLmMsIGZvbnQuYywgaHR0cGQuYywgbWFpbi5jLCByZmIuaCwgcmZic2VydmVyLmMsIHNvY2tldHMuYywKCXNyYVJlZ2lvbi5jLCBzdGF0cy5jLCB0YWJsZWluaXQyNC5jLCB0aWdodC5jLCB0cmFuc2xhdGUuYzogVGltJ3MKCUNoYW5nZXMKCjIwMDItMDQtMzAgIGRzY2hvIDxkc2Nobz4KCgkqIGNhcmdzLmMsIHJmYi5oOiBjb21tYW5kIGxpbmUgaGFuZGxpbmcKCjIwMDItMDQtMzAgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBtYWMuYzogbW9yZSBtYWMKCjIwMDItMDQtMzAgIGRzY2hvIDxkc2Nobz4KCgkqIG1hYy5jOiBkaW1taW5nIGZvciBtYWMKCjIwMDItMDQtMzAgIGRzY2hvIDxkc2Nobz4KCgkqIG1hYy5jOiBNYWMgY29tcGlsZSBmaXgKCjIwMDItMDQtMjUgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCB4MTF2bmMuYzogeDExdm5jIG1lbWxlYWtzIHBhdGNoZWQKCjIwMDItMDQtMjUgIGRzY2hvIDxkc2Nobz4KCgkqIENIQU5HRVMsIGN1cnNvci5jLCBleGFtcGxlLmMsIG1haW4uYywgcmZic2VydmVyLmM6IG1lbWxlYWtzCglwYXRjaGVkCgoyMDAyLTA0LTI1ICBkc2NobyA8ZHNjaG8+CgoJKiBtYWMuYzogbm93IGNvbG91ciBoYW5kbGluZyBzaG91bGQgYmUgY29ycmVjdAoKMjAwMi0wNC0yNCAgZHNjaG8gPGRzY2hvPgoKCSogbWFpbi5jOiBidWcgZm9yIDMgYnBwIHBsYW5lcyAoYXMgTWFjIE9TWCkKCjIwMDItMDQtMjMgIGRzY2hvIDxkc2Nobz4KCgkqIENIQU5HRVMsIGNsYXNzZXMvaW5kZXgudm5jLCBodHRwZC5jLCByZmJzZXJ2ZXIuYywgc29ja2V0cy5jOiBzeW5jCgl3aXRoIFRpZ2h0Vk5DIDEuMi4zCgoyMDAyLTA0LTIzICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZSwgbWFjLmM6IE9TWHZuYy1zZXJ2ZXIgY29tcGlsZSBmaXhlcwoKMjAwMi0wNC0yMyAgZHNjaG8gPGRzY2hvPgoKCSogQ0hBTkdFUywgTWFrZWZpbGUsIHJmYi5oOiBhbm90aGVyIHNvbGFyaXMgY2xlYW4gY29tcGlsZQoKMjAwMi0wNC0yMyAgZHNjaG8gPGRzY2hvPgoKCSogeDExdm5jLmM6IEtCRERFQlVHCgoyMDAyLTA0LTIzICBkc2NobyA8ZHNjaG8+CgoJKiBtYWluLmMsIHJmYi5oOiBzb2xhcmlzIGVuZGlhbiBjaGFuZ2VzCgoyMDAyLTAzLTA0ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZSwgcmZic2VydmVyLmMsIHNvY2tldHMuYzogcmV2ZXJ0ZWQgZXhjZXB0aW9uIGZkcyB0byBOVUxMLAoJYmVjYXVzZSBvZiB1bmV4cGVjdGVkIGJlaGF2aW91cgoKMjAwMi0wMi0xOSAgZHNjaG8gPGRzY2hvPgoKCSogQ0hBTkdFUzogY2hhbmdlcwoKMjAwMi0wMi0xOCAgZHNjaG8gPGRzY2hvPgoKCSogc29ja2V0cy5jOiBzZWxlY3QgZXhjZXB0ZmRzCgoyMDAyLTAyLTE4ICBkc2NobyA8ZHNjaG8+CgoJKiBSRUFETUUsIGN1cnNvci5jLCBleGFtcGxlLmMsIGh0dHBkLmMsIG1haW4uYywgcmZiLmgsIHJmYnNlcnZlci5jLAoJc29ja2V0cy5jLCB0aWdodC5jLCB0cmFuc2xhdGUuYzogY2hhbmdlcyBmcm9tIFRpbSBKYW5zZW46IHRocmVhZGluZwoJaXNzdWVzLCBuZXcgY2xpZW50IGNhbiBiZSByZWplY3RlZCwgYW5kIG1vcmUKCjIwMDItMDEtMTcgIGRzY2hvIDxkc2Nobz4KCgkqIDFpbnN0YW5jZS5jLCBNYWtlZmlsZTogY29tcGlsZSB3YXJuaW5nIGZpeCwgZGVwZW5kZW5jeSBvbgoJMWluc3RhbmNlLmMKCjIwMDItMDEtMTcgIGRzY2hvIDxkc2Nobz4KCgkqIG1hYy5jOiBjb21waWxlIHdhcm5pbmcgZml4CgoyMDAyLTAxLTE3ICBkc2NobyA8ZHNjaG8+CgoJKiBmb250LmMsIHJmYi5oLCByZmJwcm90by5oLCByZmJzZXJ2ZXIuYywgdm5jYXV0aC5jOiBjb3JyZWN0CglCYWNrQ2hhbm5lbCBoYW5kbGluZywgY29tcGlsZSBjbGVhbnVwcwoKMjAwMi0wMS0xNiAgZHNjaG8gPGRzY2hvPgoKCSogbWFjLmM6IGNvbXBpbGUgZml4CgoyMDAyLTAxLTE2ICBkc2NobyA8ZHNjaG8+CgoJKiAxaW5zdGFuY2UuYywgTWFrZWZpbGUsIGNhcmdzLmMsIG1hYy5jLCByZmIuaCwgcmZicHJvdG8uaCwKCXJmYnNlcnZlci5jLCB4MTF2bmMuYzogY2xlYW4gdXBzIGFuZCBlbmNvZGluZyAiYmFja2NoYW5uZWwiCgoyMDAyLTAxLTE0ICBkc2NobyA8ZHNjaG8+CgoJKiBtYWMuYzogZml4ZWQgY29tcGlsZSBvbiBNQUMKCjIwMDItMDEtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIG1hYy5jOiB0b2dnbGUgdmlldyBvbmx5IHdpdGggT1NYCgoyMDAyLTAxLTE0ICBkc2NobyA8ZHNjaG8+CgoJKiAxaW5zdGFuY2UuYywgeDExdm5jLmM6IHZpZXcgbW9kZSBub3cgdG9nZ2xlYWJsZQoKMjAwMS0xMi0yMSAgZHNjaG8gPGRzY2hvPgoKCSogbWFjLmMsIHgxMXZuYy5jOiBzaGFyZWQgbW9kZSBhZGRlZAoKMjAwMS0xMi0xNCAgZHNjaG8gPGRzY2hvPgoKCSogY2FyZ3MuYywgbWFpbi5jOiAqYXJnYz0wIGluIGNhcmdzIGFsbG93ZWQsIHdoZW4gY29weWluZyBhcmVhLAoJZmlyc3QgdW5kcmF3IGN1cnNvciAuLi4KCjIwMDEtMTItMTEgIGRzY2hvIDxkc2Nobz4KCgkqIG1hYy5jOiBmaXhlZCBvc3ggY29tcGlsaW5nCgoyMDAxLTEyLTA5ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZSwgbWFjLmM6IE1ha2VmaWxlIGNsZWFudXAsIHNvbWUgc3BlY2lhbCBvcHRpb25zIGZvciBPU1gKCjIwMDEtMTItMDkgIGRzY2hvIDxkc2Nobz4KCgkqIHgxMXZuYy5jOiB0aWxlIG1vZHVzIG5vdyBuZWFyIHBlcmZlY3QgKHNobSdzIGJldHRlciB0aG91Z2gpCgoyMDAxLTEyLTA4ICBkc2NobyA8ZHNjaG8+CgoJKiB4MTF2bmMuYzogc3RhcnQgdG8gcHJvYmUgc2luZ2xlIHBpeGVscyBmb3IgdXBkYXRlcwoKMjAwMS0xMS0yNyAgZHNjaG8gPGRzY2hvPgoKCSogVE9ETywgeDExdm5jLmM6IGZpeGVkIGR1bWIgWFRlc3RGYWtlSW5wdXQgYnVnCgoyMDAxLTExLTI3ICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPLCB4MTF2bmMuYzogcmVtb3ZlZCBYVGVzdEdyYWJDb250cm9sLiBEb2Vzbid0IHJlYWxseSBzb2x2ZSB0aGUKCXByb2JsZW0gb2YgYSBiYWQgcGFyYW0uCgoyMDAxLTExLTI3ICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPLCB4MTF2bmMuYzogZmV3IGNoYW5nZXMKCjIwMDEtMTEtMjcgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCB4MTF2bmMuYzogaW5wdXQgd29ya3Mgb24gb3RoZXIgWDExIHNlcnZlcnMgdGhhbiBYRnJlZTg2CgoyMDAxLTExLTI2ICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPLCB4MTF2bmMuYzogbm8gY3Jhc2ggd2hlbiBkaXNwbGF5IHdhcyB3cm9uZwoKMjAwMS0xMS0yNiAgZHNjaG8gPGRzY2hvPgoKCSogVE9ETzogdG9kbwoKMjAwMS0xMS0yNSAgZHNjaG8gPGRzY2hvPgoKCSogeDExdm5jLmM6IGluaXQga2V5Ym9hcmQgbm93IHRha2VzIGNvcnJlY3QgZGlzcGxheQoKMjAwMS0xMS0yMyAgZHNjaG8gPGRzY2hvPgoKCSogeDExdm5jLmM6IGtleWJvYXJkIGhhbmRsaW5nIG5vdyB3b3Jrcy4KCjIwMDEtMTEtMjIgIGRzY2hvIDxkc2Nobz4KCgkqIHgxMXZuYy5jOiBhZGRlZCBjbWQgbGluZSBwYXJhbWV0ZXJzCgoyMDAxLTExLTIxICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTOiBjaGFuZ2VzCgoyMDAxLTExLTIwICBkc2NobyA8ZHNjaG8+CgoJKiB4MTF2bmMuYzogc2htIHdvcmtzIGFnYWluCgoyMDAxLTExLTIwICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZSwgeDExdm5jLmM6IG1pc3NpbmcgaW5jbHVkZSBmb3IgWFRlc3QKCjIwMDEtMTEtMTkgIGRzY2hvIDxkc2Nobz4KCgkqIHgxMXZuYy5jOiB4MTF2bmMgbm93IHdvcmtzIHdpdGggY29sb3VyIG1hcHMKCjIwMDEtMTEtMTkgIGRzY2hvIDxkc2Nobz4KCgkqIHgxMXZuYy5jOiB0bXAKCjIwMDEtMTEtMTkgIGRzY2hvIDxkc2Nobz4KCgkqIHgxMXZuYy5jOiBmaXJzdCBzdXBwb3J0IGZvciBjb2xvdXJtYXBzCgoyMDAxLTExLTE5ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZSwgeDExdm5jLmM6IHdvcmtzLCBidXQgbG9hZHMgaGlnaAoKMjAwMS0xMS0xOSAgZHNjaG8gPGRzY2hvPgoKCSogY2FyZ3MuYywgbWFpbi5jLCByZmIuaDogY21kbGluZSBhcmcgLXBhc3N3ZCBhZGRlZAoKMjAwMS0xMS0xOSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIHgxMXZuYy5jOiB4MTF2bmMgbm93IHdvcmtzIHZpZXcgb25seSBhbmQgd2l0aCBTSE0KCjIwMDEtMTEtMTggIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBleGFtcGxlLmMsIG1haW4uYywgcmZiLmgsIHJmYnNlcnZlci5jLCB4MTF2bmMuYzogc3RhcnQKCXgxMXZuYywgYW4geDByZmJzZXJ2ZXIgY2xvbmUKCjIwMDEtMTEtMTUgIGRzY2hvIDxkc2Nobz4KCgkqIGV4YW1wbGUuZHNwLCBsaWJ2bmNzZXJ2ZXIuZHNwLCBsaWJ2bmNzZXJ2ZXIuZHN3LCBtYWluLmMsIHJmYi5oLAoJcmZic2VydmVyLmMsIHNvY2tldHMuYzogVmlzdWFsIEMrKyAvIHdpbjMyIGNvbXBhdGliaWxpdHkKCXJlZXN0YWJsaXNoZWQKCjIwMDEtMTEtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBUT0RPLCBmb250LmM6IGRvY3UsIHdhcm5pbmcgZml4ZWQKCjIwMDEtMTEtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIENIQU5HRVM6IGNoYW5nZXMKCjIwMDEtMTEtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIGNhcmdzLmM6IHNlcGFyYXRlZCBhcmd1bWVudCBoYW5kbGluZyBmcm9tIG1haW4uYwoKMjAwMS0xMS0xNCAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIGQzZGVzLmgsIGV4YW1wbGUuYywgZm9udHNlbC5jLCBrZXlzeW0uaCwgbWFjLmMsIG1haW4uYywKCXBubXNob3cuYywgcG5tc2hvdzI0LmMsIHJmYi5oLCByZmJwcm90by5oLCBzcmFSZWdpb24uaCwgdm5jZXYuYywKCXppcHB5LmM6IGNoYW5nZXMgZnJvbSBKdXN0aW4sIHppcHB5IGFkZGVkCgoyMDAxLTExLTA4ICBkc2NobyA8ZHNjaG8+CgoJKiBtYWluLmM6IGdldHRpbWVvZmRheSBmb3Igd2luZG93cwoKMjAwMS0xMC0yNSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIG1haW4uYywgcmZic2VydmVyLmMsIHNyYVJlZ2lvbi5jLCBzcmFSZWdpb24uaDogY2xlYW4gdXBzCgoyMDAxLTEwLTE5ICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTOiBjaGFuZ2VzCgoyMDAxLTEwLTE4ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZSwgVE9ETywgZHJhdy5jLCBtYWluLmMsIHJmYi5oLCB2bmNldi5jOiBhZGQgcmZiRHJhd0xpbmUsCglyZmJEcmF3UGl4ZWwgYW5kIHZuY2V2LCBhbiB4ZXYgImxvb2thbGlrZSIKCjIwMDEtMTAtMTYgIGRzY2hvIDxkc2Nobz4KCgkqIG1haW4uYzogc2NoZWR1bGVDb3B5UmVnaW9uIG5vIGxvbmdlciBzZW5kcyBmcmFtZUJ1ZmZlclVwZGF0ZXMgKG5vCglsb25nZXIgY2xvYmJlcnMgZGVmZXJyaW5nKQoKMjAwMS0xMC0xNiAgZHNjaG8gPGRzY2hvPgoKCSogQ0hBTkdFUywgVE9ETywgbWFpbi5jLCByZmIuaCwgcmZic2VydmVyLmM6IGRlZmVyVXBkYXRlCgoyMDAxLTEwLTE2ICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPLCBmb250LmMsIHJmYnNlcnZlci5jOiBmb250IGVycm9ycywgcmVxdWVzdGVkUmVnaW9uIGJ1ZwoKMjAwMS0xMC0xNSAgZHNjaG8gPGRzY2hvPgoKCSogLmdkYl9oaXN0b3J5OiB1bm5lY2Nlc3NhcnkgZmlsZQoKMjAwMS0xMC0xMyAgZHNjaG8gPGRzY2hvPgoKCSogZm9udC5jOiBJTlRfTUFYIG1heWJlIG5vdCBkZWZpbmVkCgoyMDAxLTEwLTEzICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPOiB0b2RvCgoyMDAxLTEwLTEzICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTLCBNYWtlZmlsZSwgUkVBRE1FLCBUT0RPLCBhdXRoLmMsIGJkZjJjLnBsLAoJY29uc29sZWZvbnQyYy5wbCwgY3Vyc29yLmMsIGRlZmF1bHQ4eDE2LmgsIGRyYXcuYywgZm9udC5jLAoJZm9udHNlbC5jLCBrZXlzeW0uaCwgbWFpbi5jLCByYWRvbi5oLCByZmIuaCwgc2VsYm94LmM6IHJmYlNlbGVjdEJveCwKCWNvbnNvbGVGb250cywgdG9vIG1hbnkgY2hhbmdlcwoKMjAwMS0xMC0xMiAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGU6IGNoYW5nZXMgdG8gTWFrZWZpbGUKCjIwMDEtMTAtMTIgIGRzY2hvIDxkc2Nobz4KCgkqIFJFQURNRSwgcmZiLmgsIHJmYnNlcnZlci5jOiBjbGVhbnVwcwoKMjAwMS0xMC0xMSAgZHNjaG8gPGRzY2hvPgoKCSogYXV0aC5jLCBjb3JyZS5jLCBodHRwZC5jLCBtYWluLmMsIHJmYi5oLCByZmJzZXJ2ZXIuYywgcnJlLmMsCglzb2NrZXRzLmMsIHNyYVJlZ2lvbi5jLCB0YWJsZWluaXQyNC5jLCB0YWJsZWluaXR0Y3RlbXBsYXRlLmMsCgl0aWdodC5jLCB6bGliLmM6IHJlcGxhY2VkIHhhbGxvYyB3aXRoIG1hbGxvYyBmdW5jdGlvbnMsIHVkcCBpbnB1dAoJc3VwcG9ydCAodW50ZXN0ZWQpLCBmaXhlZCBodHRwCgoyMDAxLTEwLTEwICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTLCBUT0RPLCBtYWluLmMsIHJmYi5oLCByZmJzZXJ2ZXIuYzogY29weXJlY3QgY29ycmVjdGlvbnMsCglmZF9zZXQgaW4gcmZiTmV3Q2xpZW50LCBkb3ggaW4gcmZiLmggZm9yIHB0aHJlYWRzIHByb2JsZW0KCjIwMDEtMTAtMTAgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBjdXJzb3IuYywgbWFpbi5jLCByZmIuaCwgcmZic2VydmVyLmMsIHNvY2tldHMuYzogCglwdGhyZWFkcyBjb3JyZWN0aW9ucwoKMjAwMS0xMC0wOSAgZHNjaG8gPGRzY2hvPgoKCSogc29ja2V0cy5jOiBzdGFydCB1ZHAKCjIwMDEtMTAtMDggIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCByZWdpb24uaCwgcmZic2VydmVyLmM6IHJlbW92ZXMgcmVnaW9uLmgKCjIwMDEtMTAtMDcgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBSRUFETUUsIHRhYmxldHJhbnMyNHRlbXBsYXRlLmM6IGZpeGVkIDI0Yml0ICh1cGRhdGUgd2FzCglnYXJibGVkKQoKMjAwMS0xMC0wNyAgZHNjaG8gPGRzY2hvPgoKCSogYmRmMmMucGwsIGZvbnQuYywgbWFpbi5jLCByZmIuaCwgcmZic2VydmVyLmM6IGZvbnQgY29ycmVjdGlvbnMsCglkaXNwbGF5SG9vawoKMjAwMS0xMC0wNiAgZHNjaG8gPGRzY2hvPgoKCSogUkVBRE1FLCBkM2Rlcy5jLCBleGFtcGxlLmMsIGV4YW1wbGUuZHNwLCBodHRwZC5jLCBrYmRwdHIuYywKCWxpYnZuY3NlcnZlci5kc3AsIGxpYnZuY3NlcnZlci5kc3csIG1haW4uYywgcmZiLmgsIHJmYnNlcnZlci5jLAoJc29ja2V0cy5jLCB0YWJsZWluaXRjbXRlbXBsYXRlLmMsIHRpZ2h0LmMsIHRyYW5zbGF0ZS5jLCB2bmNhdXRoLmM6IAoJV0lOMzIgY29tcGF0aWJpbGl0eSwgcmVtb3ZlZCBrYmRwdHIuYwoKMjAwMS0xMC0wNSAgZHNjaG8gPGRzY2hvPgoKCSogQ0hBTkdFUywgVE9ETywgY3Vyc29yLmMsIGV4YW1wbGUuYywgbWFpbi5jLCByZmIuaCwgcmZic2VydmVyLmM6IAoJY2hhbmdlZCBjdXJzb3IgZnVuY3Rpb25zIHRvIHVzZSBzY3JlZW4gaW5mbywgbm90IGN1cnNvciBmaXhlZCBjb3B5CglyZWN0LgoKMjAwMS0xMC0wNSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIGJkZjJjLnBsLCBleGFtcGxlLmMsIGZvbnQuYywgcmFkb24uaCwgcmZiLmg6IGV4dHJhY3RlZAoJZm9udCByb3V0aW5lcyBmcm9tIGV4YW1wbGUKCjIwMDEtMTAtMDQgIGRzY2hvIDxkc2Nobz4KCgkqIENIQU5HRVMsIE1ha2VmaWxlLCBUT0RPLCBtYWluLmMsIHJmYi5oLCByZmJzZXJ2ZXIuYzogCglyZmJEb0NvcHlSZWN0L1JlZ2lvbiBhbmQgcmZiU2NoZWR1bGVDb3B5UmVjdC9SZWdpb24uCgoyMDAxLTEwLTA0ICBkc2NobyA8ZHNjaG8+CgoJKiByZmIuaDogdHJpZWQgdG8gY29tcGlsZSBvbiBTcGFyY3MuIE9yaWdpbmFsIGNjIGhhcyBwcm9ibGVtcy4gYXIKCWlzbid0IHRoZXJlLgoKMjAwMS0xMC0wNCAgZHNjaG8gPGRzY2hvPgoKCSogQ0hBTkdFUywgVE9ETywgY3Vyc29yLmMsIG1haW4uYywgcmZiLmgsIHJmYnNlcnZlci5jOiBmaXhlZCAyCglwdGhyZWFkcyBpc3N1ZXMsIGFkZGVkIG5vWEN1cnNvciBvcHRpb24uCgoyMDAxLTEwLTAzICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPLCBtYWluLmM6IHdvcmtpbmcgb24gSVJJWCBwdGhyZWFkcyBwcm9ibGVtCgoyMDAxLTEwLTAzICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPLCByZmJzZXJ2ZXIuYzogamF2YSB2aWV3ZXIgYnVnIGZpeGVkCgoyMDAxLTEwLTAzICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTLCBNYWtlZmlsZSwgVE9ETywgbWFpbi5jLCByZmIuaCwgcmZic2VydmVyLmMsIHNvY2tldHMuYywKCXN0YXRzLmMsIHRpZ2h0LmM6IHVwZ3JhZGVkIHRvIFRyaWRpYVZOQyAxLjIuMQoKMjAwMS0xMC0wMiAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIFRPRE8sIGN1cnNvci5jLCBkM2Rlcy5jLCBtYWluLmMsIHJmYi5oLCByZmJzZXJ2ZXIuYywKCXNvY2tldHMuYywgdHJhbnNsYXRlLmMsIHZuY2F1dGguYzogbm8gbW9yZSBjb21waWxlIHdhcm5pbmdzLCBwdGhyZWFkCglmaW5hbCg/KSBmaXhlcwoKMjAwMS0xMC0wMiAgZHNjaG8gPGRzY2hvPgoKCSogVE9ETzogc29tZSB0b2RvIGl0ZW1zCgoyMDAxLTEwLTAyICBkc2NobyA8ZHNjaG8+CgoJKiBDSEFOR0VTLCBjdXJzb3IuYywgcmZiLmg6IGltcGxlbWVudGVkIHJmYlNldEN1cnNvcgoKMjAwMS0xMC0wMiAgZHNjaG8gPGRzY2hvPgoKCSogcmZiLmg6IHByb3RvdHlwZSBmb3IgcmZiU2VuZEJlbGwKCjIwMDEtMTAtMDIgIGRzY2hvIDxkc2Nobz4KCgkqIENIQU5HRVM6IGNoYW5nZXMKCjIwMDEtMTAtMDIgIGRzY2hvIDxkc2Nobz4KCgkqIHBubXNob3cyNC5jLCB0YWJsZWluaXQyNC5jLCB0YWJsZXRyYW5zMjR0ZW1wbGF0ZS5jOiBmb3Jnb3QgZmlsZXMKCWZvciAzIGJwcAoKMjAwMS0xMC0wMiAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIFJFQURNRSwgVE9ETywgZXhhbXBsZS5jLCBtYWluLmMsIHJmYi5oLCByZmJzZXJ2ZXIuYywKCXNvY2tldHMuYywgdGFibGVpbml0Y210ZW1wbGF0ZS5jLCB0cmFuc2xhdGUuYzogc3VwcG9ydCBmb3Igc2VydmVyCglzaWRlIGNvbG91ciBtYXBzLCBmaXggZm9yIG5vbi1wdGhyZWFkLCBzdXBwb3J0IGZvciAzYnBwCgoyMDAxLTEwLTAxICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPOiBoYXZlIHRvIHVwZ3JhZGUgdG8gbmV3ZXN0IFZOQyBzb3VyY2VzCgoyMDAxLTA5LTI5ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZSwgUkVBRE1FLCBUT0RPLCBleGFtcGxlLmMsIG1haW4uYywgcmZiLmgsIHJmYnNlcnZlci5jLAoJc29ja2V0cy5jOiBmaW5hbGx5IGZpeGVkIHB0aHJlYWRzCgoyMDAxLTA5LTI5ICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPLCBjdXJzb3IuYzogbm90aGVyIHRyeQoKMjAwMS0wOS0yOSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIGN1cnNvci5jLCBtYWluLmMsIHJmYi5oLCByZmJzZXJ2ZXIuYywgc29ja2V0cy5jOiBtb3JlCglwdGhyZWFkIGRlYnVnZ2luZwoKMjAwMS0wOS0yOSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIG1haW4uYywgcmZiLmg6IGNsZWFuZWQgdXAgcHRocmVhZHMgKG5vdyBjb21waWxlcykgYW5kCglyZmIuaCAoZmlyc3QgdW5kZWZpbmUgVFJVRSkKCjIwMDEtMDktMjkgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBSRUFETUUsIFRPRE8sIGluY2x1ZGUvWDExL1guaCwgaW5jbHVkZS9YMTEvWGFsbG9jYS5oLAoJaW5jbHVkZS9YMTEvWGZ1bmNwcm90by5oLCBpbmNsdWRlL1gxMS9YZnVuY3MuaCwgaW5jbHVkZS9YMTEvWG1kLmgsCglpbmNsdWRlL1gxMS9Yb3MuaCwgaW5jbHVkZS9YMTEvWG9zZGVmcy5oLCBpbmNsdWRlL1gxMS9YcHJvdG8uaCwKCWluY2x1ZGUvWDExL1hwcm90b3N0ci5oLCBpbmNsdWRlL1gxMS9rZXlzeW0uaCwKCWluY2x1ZGUvWDExL2tleXN5bWRlZi5oLCBpbmNsdWRlL1hzZXJ2ZXIvY29sb3JtYXAuaCwKCWluY2x1ZGUvWHNlcnZlci9jdXJzb3IuaCwgaW5jbHVkZS9Yc2VydmVyL2RpeC5oLAoJaW5jbHVkZS9Yc2VydmVyL2djLmgsIGluY2x1ZGUvWHNlcnZlci9pbnB1dC5oLAoJaW5jbHVkZS9Yc2VydmVyL21pc2MuaCwgaW5jbHVkZS9Yc2VydmVyL21pc2NzdHJ1Y3QuaCwKCWluY2x1ZGUvWHNlcnZlci9vcGFxdWUuaCwgaW5jbHVkZS9Yc2VydmVyL29zLmgsCglpbmNsdWRlL1hzZXJ2ZXIvcGl4bWFwLmgsIGluY2x1ZGUvWHNlcnZlci9yZWdpb24uaCwKCWluY2x1ZGUvWHNlcnZlci9yZWdpb25zdHIuaCwgaW5jbHVkZS9Yc2VydmVyL3NjcmVlbmludC5oLAoJaW5jbHVkZS9Yc2VydmVyL3Njcm5pbnRzdHIuaCwgaW5jbHVkZS9Yc2VydmVyL3ZhbGlkYXRlLmgsCglpbmNsdWRlL1hzZXJ2ZXIvd2luZG93LmgsIG1haW4uYywgbWlyZWdpb24uYywgcmVnaW9uLmgsIHJmYi5oLAoJcmZic2VydmVyLmMsIHNyYVJlZ2lvbi5jLCBzcmFSZWdpb24uaCwgdHJhbnNsYXRlLmMsIHhhbGxvYy5jOiAKCWRyb3BwZWQgbWlyZWdpb24gYW5kIGFsbCB0aGUgWCBzdHVmZiBpbiBmYXZvdXIgb2YgV2V6JyBzcmFSZWdpb24sCglhZGRlZCBkb3gKCjIwMDEtMDktMjggIGRzY2hvIDxkc2Nobz4KCgkqIGN1cnNvci5jLCByZmIuaDogZXhwb3J0ZWQgcmZiUmV2ZXJzZUJ5dGUKCjIwMDEtMDktMjggIGRzY2hvIDxkc2Nobz4KCgkqIGN1cnNvci5jOiBkb24ndCBzZW5kIGEgY3Vyc29yIHVwZGF0ZSBpZiB0aGVyZSBpcyBubyBjdXJzb3IKCjIwMDEtMDktMjggIGRzY2hvIDxkc2Nobz4KCgkqIFJFQURNRSwgVE9ETzogc21hbGwgY2hhbmdlcyB0byBSRUFETUUgKGNvbnRhY3QpIGFuZCBUT0RPCgkoYXV0b2NvbmY/KQoKMjAwMS0wOS0yOCAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGU6IGxpYnZuY3NlcnZlci5hIGlzIG5vdCBkZWxldGVkIGJ5IG1ha2UgY2xlYW4KCjIwMDEtMDktMjggIGRzY2hvIDxkc2Nobz4KCgkqIGV4YW1wbGUuYzogdW5uZWNlc3NhcnkgaW5jbHVkZQoKMjAwMS0wOS0yOCAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIGV4YW1wbGUuYywgcmZiLmg6IG5vdyBjb21waWxlcyBvbiBGcmVlQlNECgoyMDAxLTA5LTI4ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZTogbWFrZSBjbGVhbiBub3cgY2xlYW5zIG1hYy5vIHBubXNob3cubyBhbmQgZXhhbXBsZS5vCgoyMDAxLTA5LTI3ICBkc2NobyA8ZHNjaG8+CgoJKiBSRUFETUUsIGN1cnNvci5jLCBtYWluLmMsIHJmYi5oLCByZmJzZXJ2ZXIuYzogYWRkZWQKCXNldFRyYW5zbGF0ZUZ1bmN0aW9uIGFzIG1lbWJlciBvZiByZmJTY3JlZW5JbmZvLCBjdXJzb3IgbWF5IGJlIE5VTEwKCShubyBjdXJzb3IpLgoKMjAwMS0wOS0yNyAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIG1hYy5jLCByZmIuaDogdHJ5IHRvIG1ha2UgT1NYdm5jIHJ1biBhZ2Fpbi4KCjIwMDEtMDktMjcgIGRzY2hvIDxkc2Nobz4KCgkqIFJFQURNRSwgVE9ETywgZXhhbXBsZS5jLCBtYWluLmMsIHJmYi5oOiBkb2N1IGFuZCBjdXJzb3JzIGluCglleGFtcGxlcy4KCjIwMDEtMDktMjYgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBSRUFETUUsIFRPRE8sIGV4YW1wbGUuYywgaHR0cGQuYywgbWFpbi5jLCBwbm1zaG93LmMsCglyZmIuaDogQVBJIGNvcnJlY3Rpb25zCgoyMDAxLTA5LTI2ICBkc2NobyA8ZHNjaG8+CgoJKiBUT0RPLCBtYWluLmMsIHBubXNob3cuYzogYWRhcHRlZCBwbm1zaG93IHRvIGFsaWduZWQgd2lkdGgKCjIwMDEtMDktMjUgIGRzY2hvIDxkc2Nobz4KCgkqIGV4YW1wbGUuYywgdGFibGV0cmFuc3RlbXBsYXRlLmM6IGxvb2sgZm9yIGFsaWduIGJ1ZyB3aXRoIG9kZAoJd2lkdGguIEJ1ZyBpbiB2bmN2aWV3ZXI/CgoyMDAxLTA5LTI1ICBkc2NobyA8ZHNjaG8+CgoJKiBkM2Rlcy5jLCBkM2Rlcy5oLCBsaWJ2bmNhdXRoL0ltYWtlZmlsZSwgbGlidm5jYXV0aC9NYWtlZmlsZSwKCWxpYnZuY2F1dGgvZDNkZXMuYywgbGlidm5jYXV0aC9kM2Rlcy5oLCBsaWJ2bmNhdXRoL3ZuY2F1dGguYywKCWxpYnZuY2F1dGgvdm5jYXV0aC5oLCB2bmNhdXRoLmM6IHBlcm1hbmVudGx5IG1vdmVkIGF1dGhvcml6YXRpb24KCjIwMDEtMDktMjUgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCByZmIuaCwgc3RvcmVwYXNzd2QuYzogbW92ZWQgdm5jYXV0aCB0byBsaWJ2bmNzZXJ2ZXIKCjIwMDEtMDktMjUgIGRzY2hvIDxkc2Nobz4KCgkqIC5kZXBlbmQ6IHJtb3ZlZCB1bm5lY2Nlc3NhcnkgZmlsZXMKCjIwMDEtMDktMjUgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBUT0RPLCBjdXJzb3IuYywgZXhhbXBsZS5jLCBrZXlzeW0uaCwgbWFpbi5jLCBwbm1zaG93LmMsCglyZWdpb24uaCwgcmZiLmgsIHJmYnNlcnZlci5jOiBmaXggY3Vyc29yIGJ1ZzsgbWlzc2luZyBrZXlzeW07IGZpeAoJYWxpZ24gcHJvYmxlbSBvbiBTR0k7IGNsZWFuIHVwIGN1cnNvci5jIGNsZWFuIHVwIHJmYi5oIGEgYml0OyBlbmRpYW4KCWlzc3VlcwoKMjAwMS0wOS0yNCAgZHNjaG8gPGRzY2hvPgoKCSogcmVnaW9uLmg6IGZvcmdvdCBmaWxlCgoyMDAxLTA5LTI0ICBkc2NobyA8ZHNjaG8+CgoJKiBNYWtlZmlsZSwgVE9ETywgY3Vyc29yLmMsIGV4YW1wbGUuYywgaW5jbHVkZS9Yc2VydmVyL29zLmgsCgltYWluLmMsIG1pcmVnaW9uLmMsIHBubXNob3cuYywgcmZiLmgsIHJmYnNlcnZlci5jLCBzb2NrZXRzLmMsCgl4YWxsb2MuYzogYnVnZml4OiBjdXJzb3IgKHdvcmtzIG5vdyB3aXRob3V0IHhjdXJzb3IgZW5jb2RpbmcpCgoyMDAxLTA5LTI0ICBkc2NobyA8ZHNjaG8+CgoJKiBjdXJzb3IuYywgZXhhbXBsZS5jLCBtYWluLmMsIHJmYi5oLCByZmJzZXJ2ZXIuYzogY3Vyc29yIGNoYW5nZXMKCjIwMDEtMDktMjMgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBSRUFETUUsIFRPRE8sIGN1cnNvci5jLCBleGFtcGxlLmMsIGh0dHBkLmMsIG1haW4uYywKCXJmYi5oLCByZmJzZXJ2ZXIuYywgc29ja2V0cy5jLCB6bGliLmM6IGNsZWFuZWQgdXAgd2FybmluZ3MsIGN1cnNvcgoJY2hhbmdlcwoKMjAwMS0wOS0yMSAgZHNjaG8gPGRzY2hvPgoKCSogTWFrZWZpbGUsIGNsYXNzZXMvaW5kZXgudm5jLCBjdXJzb3IuYywgZXhhbXBsZS5jLCBodHRwZC5jLAoJbWFpbi5jLCByZmIuaDogaHR0cCBhZGRlZCwgcHJlcGFyZSBmb3IgY3Vyc29yCgoyMDAxLTA5LTIwICBkc2NobyA8ZHNjaG8+CgoJKiBSRUFETUU6IGNoYW5nZWQgUkVBRE1FIGF0IGxhc3QKCjIwMDEtMDktMTMgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBiZGYyYy5wbCwgZXhhbXBsZS5jLCByYWRvbi5oOiBOb3cgeW91IGNhbiB3cml0ZQoJc29tZXRoaW5nIGluIGFkZGl0aW9uIHRvIG1vdXNlIG1vdmVtZW50cyAuLi4KCjIwMDEtMDgtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBleGFtcGxlLmMsIG1haW4uYywgcG5tc2hvdy5jOiBjb21tZW50cyAmIG5ldyBleGFtcGxlOgoJcG5tc2hvdwoKMjAwMS0wOC0xNCAgZHNjaG8gPGRzY2hvPgoKCSogZXhhbXBsZS5jLCBtYWluLmMsIHJmYi5oOiBub3cgbGluZXMgYXJlIGRyYXduIGZvciB0aGUgZXhhbXBsZSwKCWZpcnN0IHN0ZXBzIHRvIG1ha2UgY2xpZW50cyBpbmRlcGVuZGVudC4KCjIwMDEtMDgtMTQgIGRzY2hvIDxkc2Nobz4KCgkqIE1ha2VmaWxlLCBleGFtcGxlLmMsIG1haW4uYywgcmZiLmgsIHJmYnNlcnZlci5jOiBob29rcyBpbnNlcnRlZAoKMjAwMS0wOC0wMSAgZHNjaG8gPGRzY2hvPgoKCSogSW5pdGlhbCByZXZpc2lvbgoK